Git常用命令

226 阅读3分钟

Git

1. git diff比较工作区和暂存区的差异

2. git diff dev1 dev2比较两个分支的差异 差异内容都会显示出来

3. git diff dev1 dev2 --stat 只是比较两个分支有差异的文件,不会显示出差异文件的内容

4. 修改上一次commit的信息

  git commit --amend -m '这是修正后的提交信息'

5. 将add和commit合为一步

  git commit -am 'message'

6. 查看某个人的提交日志

git log --author=“author”

www.cnblogs.com/mkl34367803…


我们知道,在git进行cherry-pick的时候,找到commit id是至关重要,

如果我们是很多人在一个分支开发,开发完了之后,发现某个人的功能,需要单独cherry-pick到另外一分支上去。那么这个时候就要查询这个人的提交日志了。

使用git log --author=“author” 可以查找某一个作者所有的提交

7. 查看某个文件的提交历史不包括merge记录

git log -p --no-merges  某个文件的相对路径 

如果你在分支1删除了某个文件的某一行并且提交了 分支2这个文件这一行没有删除 此时把分支2合并到分支1 删除的那一行还是不会存在

8. git reset

www.jianshu.com/p/c2ec5f06c…

9.如果想忽略已经添加到git缓存中的文件可以本地这么搞,然后修改就不会被追踪了

    git update-index --assume-unchanged 忽略文件路径

10. 查看本地或远程是否有某个分支(分支比较多的情况下)

git branch -r | grep '分支名' //查看远程
git branch | grep '分支名' // 查看本地
git branch -a | grep '分支名' //查看所有

11.更改分支名字

git branch -m oldName newName

12.回退某个文件到某个commit

//reset和revert 命令只能将整个版本的代码一起回滚,需要使用**checkout** 命令,可以还原部分文件到某一版本
git checkout [<branch>] [file]
**还原单个文件**\
  git checkout 07ed0f4a1b9118124df26d62ffa8c253ec540207 E:/Workspaces/WebStormProject/mobile/resources/ios/splash/Default@2x~iphone.png

**还原多个文件**(使用通配符)\
  git checkout 07ed0f4a1b9118124df26d62ffa8c253ec540207 E:/Workspaces/WebStormProject/mobile/resources/ios/splash/Default*.png

**还原文件夹**\
  git checkout 07ed0f4a1b9118124df26d62ffa8c253ec540207 E:/Workspaces/WebStormProject/mobile/resources/ios/splash/

**使用相对路径**(相对路径最开始不能有斜杠)\
  git checkout 07ed0f4a1b9118124df26d62ffa8c253ec540207 resources/ios/splash/

13.放弃本次合并

git merge --abort

14.设置命令别名

    git config --global alias.co checkout
    git config --global alias.cb 'checkout -b'

15.查看已经设置的别名

    git config --global --get-regexp alias

个人分支上开发特性功能git提交流程

要一直保持你特性分支的纯粹性

  • 基于最新的dev拉取特性分支 dev_featrue
  • 基于dev拉取专门负责往dev合并的分支dev_merge(该分支只是用来进行合并特性分支,然后合并到远程dev)
  • 特性分支dev_featrue修改后往dev_merge 合并
  • 然后dev_merge 合入dev
  • 尽量要保持dev_merge 和远程dev 代码的同步性