git 命令整理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 命令整理相关的知识,希望对你有一定的参考价值。

 

记录一些git 命令,以便自己以后查阅

基本命令

    1.git add (保存工作区的变动到暂存区)

       git add . 和git add -A把整个工作区添加到暂存区

  2.git commit (保存暂存区的变动到历史)

  3.git status (查看工作和暂存区的不同)

  4.git rm (删除暂存区和工作区里文件,

  (1)注意区分rm 和 git rm 间的区别git rm 删除过的文件,执行 git commit -m "git rm" 提交时,

  会自动将删除该文件的操作提交上去。

  而对于用 rm 命令直接删除的文件,执行 git commit -m "rm" 提交时,

  则不会将删除该文件的操作提交上去

  如果rm了很多文件

  (2)git 批量删除文件夹和文件 

硬盘删除文件后,执行$ git status

会提示你仍然需要$ git rm <文件>

此时如果是要删除大批量文件,这么一个一个命令下去不得累死人啊

其实可以这样(不管之前有没有已经本地物理删除)

执行 $ git rm * -r(记得,cd 到你要删除的目录下。当然 * 可以换成指定目录)

这时删除文件已经进入本地缓存区,

接下来就是正常的提交操作了
$ git add .
$ git commit -m "clear"
$ git push origin master

  5.git mv 重命名移动工作区的文件

  6.git ignore 忽略一些文件使它们不被添加到暂存和历史        

         *.[oa]   (忽略所有.o和.a结尾的文件)

         *.dmg    (忽略所有.dmg 文件)   

        !test.dmg(!表示不要忽略 , 如果文件名本身带!号就要加上\ 应该这么写: \!test.dmg)

         foo/ (/忽略一个目录,foo如果是文件就不会被忽略)

        **/res (忽略任何名为res的目录)

      7.git mv a c (把 a 重命名成c)

  8. 给git命令取别名 git config --global alias.co checkout (把checkout 取成co)

分支相关

   1.git branch develop (创建一个名为develop的分支)

   2.git checkout develop (切换到develop分支)

   3.git checkout -b develop (上面2个命令的组合)

     4.git stash save -a "stash1"(保存stash)

   5.git stash list(查看stash)

   6.git stash pop --index [email protected]{0} (还原stash到工作区和暂存区)

     7.git stash apply --index [email protected]{0} (保留stash,同时还原stash到工作区和暂存区)

   8.git stash drop [email protected]{0} (删除stash,如果不加引用默认清除最上面的,想删除全部用 git stash clear)

   9.git tag "v0" 244afbc (轻量级,只是本地引用)

  244afbc是一次commit的hash值前几位

     10.git tag -a "tag example"244afbc (带注解的tag对象,存储在git仓库,需要的时候可以推送到服务器上用于共享)

   11.git merge develop (合并)

     12.git merge --abort(放弃合并)

查看与对比历史记录

1.git log --oneline --decorate --graph --all( 查看历史提交)

2.git show master

3.git show master~(查看master 里的第一父提交,git show master^2 第二父提交)

4.git show --oneline master^2 (查看提交与它的父提交间的差异)

5.git show --stat master^2 (提交做出改变的统计信息)

6.git show --oneline --stat master^2(参数组合使用)

git show可以接受git对象(commit,tag,tree,blob)

7.git show --format=%T master^2 (格式化输出master的一些信息,输出了一大段头一条是一个hash)

8.git show 0fcdee (一个commit 的hash)

 

 

9.git log (输出完整历史,空格向下翻页,b向上翻页,q退出)

10.git log -p (每个commit间的差异信息)

11.git log --stat (每个commit差异的统计信息)

12.git log --oneline --stat -p (自由参数组合)

 

13.git diff (输出工作区和暂存区的差异,如果没有差异就没输出)

14.git diff --cached (输出暂存区和历史提交间的差异)

15.git diff HEAD~2 -- master.txt (工作区和其他历史提交的差异,后面可以加上文件)

16.git diff --cached HEAD~2 (暂存区和历史提交的差异)

17.git diff HEAD HEAD~2 (当前commit和上一间的差异)

18.git diff --color-words (单词的差异)

19.git diff --word-diff (最新的修改)

修改相关

  --------------------未完待续

 

以上是关于git 命令整理的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

整理下git常用命令

代码管理 ,git 命令整理

git 常用命令 整理

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段