我曾经在一个本地分支机构工作,并将更改推送到远程.我想恢复该分支上的更改并对其执行其他操作,但我不想完全失去工作.我在考虑在本地创建一个新分支并在那里复制旧分支,然后我可以恢复更改并继续处理旧分支.还有更好的方法吗?或者我该怎么做?
Dan*_*rth 398
git checkout old_branch
git branch new_branch
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个新的分支"new_branch",其状态与"old_branch"相同.
此命令可以组合到以下内容:
git checkout -b new_branch old_branch
Run Code Online (Sandbox Code Playgroud)
Lyl*_*e Z 50
git branch copyOfMyBranch MyBranch
Run Code Online (Sandbox Code Playgroud)
这避免了检查分支的潜在耗时和不必要的行为.回想一下,结帐修改了"工作树",如果它很大或包含大文件(例如图像或视频),则可能需要很长时间.
Von*_*onC 42
使用Git 2.15(2017年第4季度)," git branch
学会" -c/-C
"通过复制现有分支来创建新分支.
看看提交c8b2cec由(2017年6月18日)ÆvarArnfjörðBjarmason( )avar
.
见Sahil Dua()提交52d59cc,提交5463caa(2017年6月18日).(由Junio C Hamano合并- -在提交3b48045,2017年10月3日)sahildua2305
gitster
branch
:添加一个--copy
(-c
)选项与--move
(-m
)添加
--copy
分支及其reflog和配置的功能,这使用与--move
(-m
)选项相同的底层机制,除了复制日志和配置而不是移动.这是例如复制一个话题分支到一个新的版本,例如,有用
work
到work-2
提交后work
的话题列表,同时保留所有与分支而来的跟踪信息和其他配置,而不像--move
周围保持其他已提交的分行参考.
注意:复制分支时,您将保留在当前分支上.
正如Junio C Hamano所说:
B
通过复制A
恰好是当前分支的分支来创建新分支时,它也会更新HEAD
为指向新分支.
它可能是这样做的,因为"git branch -c A B
"捎带它的实现"git branch -m A B
",这与通常的预期不符.
如果我坐在蓝色的椅子,有人来了,它重绘为红色,我会接受结束了坐在椅子上,现在是红色的(我也是确定的立场,而不是,因为不再是我最喜欢的蓝色椅子).但如果有人创造了一把新的红色椅子,在我坐着的蓝色椅子上进行造型,我不希望从蓝色椅子上开始,最后坐在新的红色椅子上.
归档时间: |
|
查看次数: |
254864 次 |
最近记录: |