Jon*_*vis 123 git commit staging
如果要将提交移动到暂存区域 - 这是不允许的,并将其中的所有更改移动到暂存区域(有效地将分支置于提交之前的状态) - 你怎么做呢?或者是你不能做的事情?
我知道怎么做的最接近的方法是将提交中更改的所有文件复制到其他地方,在提交之前将分支重置为提交,然后尝试移动到暂存区域,移动所有将文件复制回存储库,然后将它们添加到临时区域.它有效,但它不是一个很好的解决方案.我希望能够做的只是撤消提交并将其更改为暂存区域.可以吗?如果是这样,怎么样?
Abi*_*ern 221
git reset --soft HEAD^
Run Code Online (Sandbox Code Playgroud)
这会将您的索引重置为HEAD^
(上次提交),但会将更改保留在暂存区域中.
如果您使用的是Windows,则可能需要使用以下格式:
git reset --soft HEAD~1
Run Code Online (Sandbox Code Playgroud)
San*_*pta 13
将提交移回暂存区域取决于您的最后一次提交。如果您的最后一次提交是存储库的第一次(或初始)提交,那么您需要执行
git update-ref -d HEAD
Run Code Online (Sandbox Code Playgroud)
如果您的最后一次提交不是第一次(或初始)提交,则执行
git reset HEAD~
Run Code Online (Sandbox Code Playgroud)
一个简单的方法
提交文件到暂存区
git reset --soft HEAD^1
暂存到 UnStage :(使用“git reset HEAD ...”取消暂存)
git reset HEAD git commands.txt
or git reset HEAD *ds.txt
在这里, *--> 所有以 ds.txt 结尾的文件都可以取消暂存。
为清楚起见,请参阅下图:
归档时间: |
|
查看次数: |
46966 次 |
最近记录: |