git 命令学习
2015-04-17 15:05
169 查看
网上由很多关于该命令的文章,但是千篇一律的复制粘贴,虽然本身的内容已经说得十分完整,但是只有一两种解释难免会使得某些地方理解不透彻或者某些地方的理解会有偏差,因此在这里写下一些自己的学习心得。
git rebase
这个命令在一开始的时候看了很多图解,知道是将某些变更重做一遍,但是在真正使用过程中会遇到一些问题从而导致没法继续使用,原因在于没有真正理解其含义。
git rebase的rebase其实可以硬将它翻译成变基(一开始觉得很别扭为什么这样翻译,但是当真的理解后才发现这样翻译的意图),即将你的git的commit流程的base进行变更,即本来你的这些commit是基于本地分支的末端,rebase把这几个commit改成基于目的分支的末端节点
a->b->c(work分支)
a->d->e(origin分支)
要获得a->d->e->b->c(work分支)
git checkout work
git rebase origin
意思就是本来你的这些commit是基于a的,然后用rebase命令将当前work分支的b、c提交修改成基于e
PS:rebase的过程中自然会有冲突的发生,这时候需要做的就是将冲突解决,解决后继续rebase --continue,或者是放弃rebase、跳过等等操作
git update-index
git update-index --assume-unchanged settings.gradle
运行这个, 每次commit / status / diff 的时候 git都会假设 settings.gradle没有变更
当真的修改了settings.gradle的时候
git update-index --no-assume-unchanged settings.gradle
git rebase
这个命令在一开始的时候看了很多图解,知道是将某些变更重做一遍,但是在真正使用过程中会遇到一些问题从而导致没法继续使用,原因在于没有真正理解其含义。
git rebase的rebase其实可以硬将它翻译成变基(一开始觉得很别扭为什么这样翻译,但是当真的理解后才发现这样翻译的意图),即将你的git的commit流程的base进行变更,即本来你的这些commit是基于本地分支的末端,rebase把这几个commit改成基于目的分支的末端节点
a->b->c(work分支)
a->d->e(origin分支)
要获得a->d->e->b->c(work分支)
git checkout work
git rebase origin
意思就是本来你的这些commit是基于a的,然后用rebase命令将当前work分支的b、c提交修改成基于e
PS:rebase的过程中自然会有冲突的发生,这时候需要做的就是将冲突解决,解决后继续rebase --continue,或者是放弃rebase、跳过等等操作
git update-index
git update-index --assume-unchanged settings.gradle
运行这个, 每次commit / status / diff 的时候 git都会假设 settings.gradle没有变更
当真的修改了settings.gradle的时候
git update-index --no-assume-unchanged settings.gradle
相关文章推荐
- git学习——个人常用命令add,commit以及push
- git学习(一):建立本地仓库和基本命令
- git常用命令学习(转)
- git学习笔记(2)——git init命令选项说明
- Git学习 之 常用基础命令
- GitBach学习实用命令及GitHub实用
- 学习git的一些命令
- 学习Git需要清楚的几个术语以及常用的Git命令总结
- git学习-git status, git diff, git rm, git mv等文件操作命令解释。
- Git学习笔记--常用命令
- 2.git学习分享--常见命令大全
- 【Git学习】git常用命令
- git学习笔记之1 Git 内部原理 - 底层命令和高层命令
- git 命令学习及更新
- git新手学习的命令
- git 命令 学习
- git,github常见命令 学习心得
- GIT学习笔记-命令基础-查看提交历史
- GIT学习笔记-命令基础-打标签
- git学习------>git commit命令的默认编辑器的修改