GitHub基本使用操作

一、说明

1.1 背景说明

刚工作的时候我对版控制没什么概念,比如听说MariaDB是MySQL的一个分支还是不明白他们的代码到底是不是一样的。

后来弄公司的svn算是有了一些了解,但对于git到现在都不算太会用,每次上传项目到github总是一阵抓狂。写这篇博客的原因也是为了避免自己以后再操作时到处查资料。

 

1.2 关于git和svn谁更好

我们总会听到说linus当年对svn的实现模式很不满意所以编写了git,所以git是比svn更合理先进的。

对于大众一致认为的观点,我自己的话总是有两层看法:一方面是如果大多数人都说是对的那一般是对的,另一方面是其实这一大多数人中的大多数人都是一知半解人云亦云。

换言之就是说,git的一些高级特性大概率是真的比svn要好的;但对于初级用户而言,svn服务端和客户端都挺方便,反而git的高级特性不知道也用不到,没必要一口否定svn。

 

1.3 关于git和github

很多人接解git都是从github开始的,一堆开源的项目又都在github上,导致很多人以为git是github的一个客户端,或者是其专属的技术。

其实git分为git客户端和git服务端,github是git服务端的一个包装实现;还有其他的git服务端包装实现,比如gitlab、码云;当然你也完全可以自己在自己机器上安装一个git服务端。

另外gitlab和github的区别是,gitlab除了有网站外,还提供一种git服务端发行版,供用户方便地在自己服务器搭建一个易用的git服务器。

 

1.4 关于git和服务端操作只有一种场景

日常我们有两种操作需求,一是本地没有代码我们从github上下载项目修改后再传上去,二是本地有写好的项目代码我们要传到github上去。

但我们要明确,不存在通过客户端创建服务端仓库然后把代码传上去这样的操作,所以不论哪种情况,服务端的仓库都是要首先存在的。

我们后边的也先介绍服务端侧操作,再介绍客户端侧操作。

 

二、github服务端基本操作

2.1 创建仓库

下来就是一些信息的填写,包括仓库名、仓库说明、仓库属性、是否添加README文件、是否添加.gitingnore文件、是否添加开源许可证等等。

填完后点击“Create repository”创建仓库即可。

如果没有选择添加任何文件,那么github默认你是个新手,会展示如下的界面,告诉你如何上传文件到该仓库中。

如果有添加README、许可证等操作,那么github默认你是有经验的github使用者,会直接跳到仓库首页。所以你是一个新手不记得这些命令(的顺序),那么还是建议不要直接添加。

 

2.2 删除仓库

切换到Setting标签,如果只是想改下项目名称直接rename即可,不需要删除。

 如果真确定删除仓库则拉到底部点击“Delete this repository”

 

 最后在弹出的对话框中输入仓库名再次确认删除即可。

 

三、git bash客户端基本操作

3.1 git bash客户端安装

Windows直接下载git bash,双击进行安装,安装目录可以自行修改一下,其他一些选项全都默认即可

下载地址:https://gitforwindows.org/

 

3.2 ssh公钥配置

3.2.1 本地生成ssh公私钥对

打开git bash,直接使用以下命令生成,如有选择提示直接回车使用默认值即可:

ssh-keygen -t rsa -P ''

可以看到公私钥文件存放位置提示,一般是“C:/Users/电脑用户名/.ssh”目录下。

 

打开公钥文件,内容类似如下(所有字符在同一行,这里我使用了自动换行):

 

3.2.2 把ssh公钥导到github

github左上角用户处点击展开,点击Settings

 

切换到“SSH and GPG keys”,点击“New SSH key”。

 

 

 

 

 在Title处取一个名字,把上边的公钥文件中的所有内容复制粘账到Key处,最后点击“Add SSH key”即可。

 

3.3 配置提交代码时登记的邮箱和用户

其实这个邮箱和用户只是为了方便回溯代码是谁提交的,并不需要是github的邮箱和用户名,甚至是可以随便写的邮箱和用户名。

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

 

3.4 把项目上传到github

另外由于本地原先没有项目,其实比本地已有项目的情况,在提交时比第二种情况多“git clone”一句少“git init”和“git remote add origin”两句,前面的其他操作都一样,所以就不多介绍了。

3.4.1 准备一个本地项目

我们先在本地准备一个测试项目,这里以test文件夹、其下有一test.txt文件为例

mkdir test
cd test
echo "这是一个测试文件。" > test.txt

 

3.4.2 将项目上传

使用创建空项目时提示的那些命令上传即可

git init
git add *
git commit -m "commit test"
git remote add origin https://github.com/PrettyUp/test.git
git push -u origin master

如果是git bash没有登录过github,最后的git push时需要输入一次github的用户名密码,输入登录即可。

(这其实我也是不太理解,既然我都配置了公钥信任本台机器了,为什么要在输入一次用户名密码呢。)

 

3.4.3 上传结果确认

此时再回到github的test仓库,刷新页面查看,test.txt已上传成功。

 

四、Github Desktop客户端基本操作

4.1 github desktop安装

git bash给人的感受就如没有桌面环境的linux一样,黑漆漆的一个框,完全不知道要让人敲什么,易用性还是比较差的。

github desktop就是git bash的图形界面封装,旨在改进git对普通用户的易用性。

直接下载后双击运行即会自动安装,安装目录都不会给你选。下载地址:https://desktop.github.com/

 

4.2 Github Desktop使用

我们说github desktop就是git bash的封装,其背后仍是git bash,所以按第三大节配了git bash之后,github desktop并不需要其他的配置(我没试过没配git bash时github desktop需要怎么配,应该会自己弹框提示,可以自己试一下)。界面如下:

上来的操作,要么创建仓库,要么克隆仓库。我这里把test仓库克隆下来。

 

我用记事本打开test.txt--github desktop本身不支持查看和修改文件--并将其内容修改成“github desktop修改测试。”,可以看到文件变动后,github desktop就会自动将文件变动检测出来。

此时在Description框里写入自己的注释(即git bash -m参数的值)。然后点击提交即可。

从界面上我们就可以看出来一是github desktop现阶段只实现了git bash的部分功能,二是其友好程度还有改进的空间。但其图形界面确实改善了不少易用性,其他功能可以自己随意点点进行探索。

posted on 2020-02-07 18:38  诸子流  阅读(1257)  评论(0编辑  收藏  举报