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(中文版)

原文地址:https://www.cnblogs.com/china-fanny/p/5939687.html