首页 > 代码库 > Git里怎么自动commit到一个新分支?
Git里怎么自动commit到一个新分支?
通常,正常的流程应该是这样的:
1、从master主线创建新分支
2、checkout这个新分支
3、在working目录上做修改
4、commit修改到分支
OK,很容易理解。问题是,现在的顺序不是这样子的,实际情况是:
1、从master主线直接checkout
2、在对应主线的working目录上直接修改代码
3、现在准备commit了,希望随这个commit自动创建一个分支,但当前working目录仍然对应master主线
How?我知道SVN里checkout时可以-b顺便创建一个新分支,但是,可以“svn commit -b <新分支名>”吗?(一个麻烦的解决方案是:先远程copy,再switch,然后commit,问题是switch的过程中会做一个递归的比对,效率非常差),Git里怎么做?Git本身有一个Stash/Staging特性,似乎是用于保存临时的修改。
我必须小心操作。否则chromium的代码就不好方便地GYN repo与上游同步了。
版本管理好久不用,都有点生疏了:以前SVN用的倒是挺熟;TortoiseHg/Mercurial也用过一段时间,Mercurial看起来是个分布式的DVCS,但它维护一个全局的一致视图,不像Git这种完全分布式的,可以cherry-pick。Git虽然看过书,但没有熟练使用。
可能对于Git而言,git checkout -b是一个廉价操作?(但是这个checkout会覆盖我当前working目录下的修改吗?)
TO BE CONTINUED
参考:https://code.google.com/p/chromium/wiki/GitCookbook
Git里怎么自动commit到一个新分支?