一、配置github
1、github添加公钥
a)本地生成公钥,使用命令 ssh-keygen -t rsa -C "你的邮箱名"

b)添加公钥,github添加公钥位置如下


2、设置本地git库信息
每次git commit的时候都需要name和email信息,如下:

3、git clone


二、git常用命令
1、git log
git log
查看当前分支的提交记录,每一次的提交记录都以commit开头,commit后面的一串字符是本次提交的唯一识别。接着就是提交者、提交时间,最后是提交说明。
经常我们需要使用git log来确定本分支是否是最新的,看commit是不是和远端库的最新commit一致。特别是在多个人开发同一个库的时候,别人在远端库更新,而自己本地库未更新。如果本地分支不是最新的,则在后面提交、合并的时候就会报错。所以我们每次在修改代码前,最好确认下是不是最新代码。
2、 git pull
git pull origin refs/heads/remote_branch:local_branch
如果本地代码落后于远端代码,可以使用git pull 命令来更新本地代码。在我们push和merge的时候,如果本地代码本身落后于远端,则也会报错。报错当然可以改,但为了不必要的麻烦,最好每次修改前确认代码是否最新。
3 、git branch
git branch
git branch branch_name
git branch -vv
git branch -d branch_name
git branch --set-upstream-to=origin/remote_branch local_branch
经常本地库会缺少相对应的分支,就可以使用git branch branch_name来创建本地分支。-vv参数如下图:

4、git ls-remote
git ls-remote
查看远端有哪些分支,在要pull和push的时候,就需要查看远端分支名。
5、git checkout
git checkout branch0
切换分支。每次在本地库操作的时候,一定要明确在哪个分支。
6、git add
git add ./
在我们使用git log、git branch 明确了远端库和本地库情况后,开始修改代码。代码提交的第一步是回到库项目的根目录下,使用git add ./,将更改保存到暂存区。git add ./的作用范围是当前目录下所有更改文件。如果只希望提交某个文件,可以在add后跟相对文件路径(也就不需要回到根目录了)。
7、git commit
git commit
git add 后,就要git commit来更新到本地库中。提交说明可以通过-m "提交说明"来添加,也可以直接git commit回车,进入到文本中,用vim编辑后保存退出。 经常git默认commit的编译器不是vim,可以使用git config --global core.editor vim来设置。
8、git push
git push origin local_branch:origin/remote_branch
git commit后,使用git push提交到远端库。最好指定是将本地哪个分支的代码提交到远端哪个分支上,明确提交范围。其中冒号前后没有空格
9、git merge
git merge --no-ff branch_name
使用git merge --no-ff branch_name将本地的branch_name分支合并到当前分支(当前分支可以通过git branch查看到有*标记的分支)。然后git push提交合并,建议使用--no-ff参数。merge的时候经常会有冲突,通过git status查看有冲突的文件。
10、git status
git status
查看本地库距离最近一次提交的代码状态,包括更改、添加、删除。比如我们在本地库调试代码,但时间长了容易忘记修改了哪些代码,这个时候就可以使用git status查看修改过的文件,然后通过git diff查看每个文件具体的修改内容。
11、git diff
git diff file
git diff commit1 commit2
git diff branch1 branch2
git diff比较差异,在git status中看到了变化文件,如果想知道具体内容变化,可以使用git diff file。如果想知道两次提交的差异,可以git diff commit1 commit2。commit1,commit2可以通过git log查看,是每次提交的标识。如果想知道两分支最新提交之间的差别,可以git diff branch1 branch2。
12、git reset
git reset --hard commit
git push -f -u origin
如果提交的某个更改不需要了,可以使用git reset --hard commit 来回退到commit所在的提交,然后使用git push -f -u origin,就能对远端库也回滚了。
13、git tag
git tag
git tag tagname0
git tag -d tagname0
git tag查看已有tag,git tag tagname0,在当前分支的最新commit上打上tagname0,然后需要git push origin tagname0来提交到远端。打tag可以让我们快速找个某个时间点的代码,比如某个调试点的代码。