cor*_*ras 76 git version-control dvcs git-branch
服务器上有一个git控制文件夹,其中检出主分支,并且修改了一大堆文件但未提交.有没有办法让我将更改提交到一个单独的分支,以便我可以回到一个干净的版本?
即我想有效地撤消所有这些人的变化,但是将它们存储在另一个机会中,所以如果那个人想要他们的改变,他们可以切换到那个分支.
(是的,我知道这不是git的设计工作,但这是我的情况!)任何想法非常感谢.
CB *_*ley 134
首先,移动到基于当前HEAD的不同分支,执行方式如下:
git checkout -b newbranch
Run Code Online (Sandbox Code Playgroud)
提交所有更改(假设没有新添加的文件,否则git add它们):
git commit -a
Run Code Online (Sandbox Code Playgroud)
回到主分支:
git checkout master
Run Code Online (Sandbox Code Playgroud)
以前未提交的更改都将在newbranch分支上,master仍然处于没有这些更改的状态.
ken*_*orb 14
这个方法很有用:
git checkout -B <new_branch> <start point>
Run Code Online (Sandbox Code Playgroud)
哪里:
<new_branch>是你的新分支(例如my_branch)<start point>是你的起始分支(master在你的情况下)-B创建新分支<start point>,如果已经存在,则将其重置为(-b当分支已存在时,它不会失败)-m可以指定何时切换分支,这将执行当前分支,工作树内容(对脚本有用)之间的三向合并.请参阅:man git-checkout了解更多详情.
Mic*_*ker 13
您可以随时存储更改.
git stash
git checkout -b bravenewmaster
git stash apply
Run Code Online (Sandbox Code Playgroud)
还要记住,如果你提交"错误"分支,你总是可以移回那个分支,因为分支只是指向提交的指针.
| 归档时间: |
|
| 查看次数: |
93800 次 |
| 最近记录: |