速查表

Git 常用命令速查表

速查表 图片来自网络

Git从零开始

配置身份

配置你的Git身份,包括用户名和密码,用户名最好是和GitHub用户名保持一致。--global参数代表所有Git操作都使用这个身份。不带这个参数的话,代表仅仅某个代码仓库内使用这个身份。

git config --global user.name "Shawn"

git config --global user.email "xt323@outlook.com"

给项目创建代码仓库

项目的目录下输入命令

git init

这行命令即可完成代码仓库的创建,目录下生成 .git 隐藏文件夹,这个文件夹用来记录了本地Git操作。

提交代码

使文件可以被Git追踪,同时把文件加入暂存区。

git add data.txt

提交

git commit -m "your message"

查看修改内容

查看文件修改情况

git status

如果有修改,输入这个命令查看具体某个文件的更改

git diff

查看提交记录

git log

如果只想查看其中一条,指定记录id加上参数 “-1”

git log 1fa380b502a00b8fc8d84c5ab5e15b8fb65dc7a -1

如果想看提交具体的内容,可以在上面的基础上再添加一个参数”-p”

版本回退

撤销更改

1.撤销未提交还处于暂存区的修改,可以手动删除,或者

git checkout app/src/main/java/com/xtlog/test/MainActivity.java

2.撤销已经add过的修改,先取消添加:

git reset HEAD app/src/main/java/com/xtlog/test/MainActivity.java

此时就可以用checkout命令

3.撤销已经commit过的修改

git reset --hard HEAD^

注意HEAD表示的是当前版本,HEAD^就是上个版本,HEAD^^^^^就是往前数的第五个版本,也可以写成HEAD~5

4.就算已经回到之前的版本,还是有办法再回来的,不过需要知道目标版本的commit id

不知道的话可以用git reflog命令查看每次git操作对应的id

git reset --hard cb926e7ea50ad11b8f9e909c05226233bf755030

其实commit id只写前几位就行,但不要太短。

获取远程库更新

当别人有新的提交,使用pull命令下载到项目里

git pull

如果pull之前有代码还没有提交或者代码有冲突的话,使用stash命令暂存本地修改

git stash

git pull

git stash pop stash@{0}

(stash@{0}是之前暂存标记,可以用 git stash list 查看)

然后就ok了,有冲突的话,Git用<<<<<<<=======>>>>>>>标记出冲突内容,需要自己手动选择性修改,然后再add和commit。

使用分支

###创建分支并切换到新分支

git branch dev

git checkout dev

等价于git checkout -b dev

查看所有分支和当前分支

git branch

切换分支

git checkout [branch_name]

合并分支

当dev分支上的工作完成后,就可以合并到master分支

git checkout master

git merge dev

(理想状态下这是没有冲突的快速合并,如果master和dev同时对一行代码有修改,合并会发生冲突。如果发生冲突,Git用<<<<<<<=======>>>>>>>标记出不同分支的内容,需要自己手动选择性修改,然后再add和commit。)

删除分支

完成dev分支开发并且已经把成果合并到master,这个分支就没有存在必要了

git branch -d dev