git 常用命令行整理
1.创建分支dev
git branch dev
2.切换到dev分支
git checkout dev
3.创建并切换本地分支,分支名为dev
git checkout -b dev
4.查看本地所有分支
git branch
5.查看远程所有分支
git branch -r
6.查看所有分支,包括本地和远程
git brach -a
7.默认提交所有文件到本地仓库
git add .
8. 对所提交内容进行说明
git commit -m "备注"
7和8的操作可以合并为一行命令:
git add . && gc -m "备注"
9.将代码推送至远程仓库dev中
git push origin dev
10.分支合并git merge <brancnName>
比如将dev中的代码合并到master主干下,先切换到master主干下:
git checkout master
然后执行合并命令:
git merge dev
11. 分支重命名git branch -m <oldBranchName> <newBranchName>
比如要把branchA分支名改为brachB,命令如下:
① 重命名 git branch -m branchA brachB
② 删除远程分支:git push origin :branchA
③ 将重命名过的分支提交:git push origin brachB
12. 删除分支git branch -d <branchName>
比如功能分支feature-001,现在需要删除,使用如下命令
git branch -d feature-001
如果此分支还没有被合并会报错,若要强制删除使用如下命令:
git branch -D feature-001
13. 工作区修改储藏git stash
比如我们现在在dev分支下,有些工作没做完不能commit时,但是此时需要紧急修改master分支的一个bug
① 此时,我们为了不让dev的修改呈现在master分支下,我们需要使用git stash命令,将dev分支的修改储藏起来
需要注意的是:dev分支下,新建的文件需要先使用git add命令将其加入到暂存区,然后在使用git stash才可以
② 使用了git stash命令后,我们的工作区就“干净了”(恢复到了修改前的状态)
③ 在使用git checkout master切换到master分支
④ 从master使用 git checkout -b hotfix-001 创建并切换到hotfix-001分支
⑤ 修改完bug后,git checkout master切换到master分支
⑥ git merge hotfix-001 合并到master
⑦ git checkout dev:切换到dev
⑧ 使用git stash pop恢复并删除stash内容,此时dev就有恢复到了最新的工作状态,继续工作
关于git stash命令,此处只是简单的介绍使用场景,有一个大体的认识,具体情况可能会复杂,理解了基础的,后续复杂的就能慢慢分析清楚了
14. 撤销操作:git commit --amend
比如这种情景:git commit -m ''xxxx", 但是没有执行git push origin... 发现commit的message写错了(尴尬了...)
此时我们需要撤销操作,git commit --amend这个命令就给我重新提交的机会
执行此命令后,会进入vim模式,我们可以对我们之前提交的messge进行编辑修改,然后保存退出即可
(还有一种就是有commit后,有文件没有git add,此时先执行git add <fileName>,在执行git commit --amend即可
)
15. 查看某个文件的修改日志:
- git log filename:可以看到fileName相关的commit记录
- git log -p filenam:可以显示每次提交的diff
- git show commit-id filename:只看某次提交中的某个文件变化,可以直接加上filename
16. 指定本地分支对应的远程分支: git branch --set-upstream-to=origin/master master
执行如上命令后,就可以直接使用git pull 从远程直接更新分支了,而不需要指定远程分支(git pull origin master)
想要系统的学习git,推荐:1. 廖大大的Git教程; 2. 图书Pro Git(中文版)