mor*_*huz 33 git github github-desktop
我正在尝试使用GitHub Desktop(即GUI应用程序 - NOT命令行)返回到先前的提交(在同一分支上).我想到的东西是核心功能,因为它是首先使用源代码控制的主要原因.
我可以看到可以恢复提交,但这并不是我想要的,因为它创建了一个新的提交.我只想回过头再次选择,就像我可以跳到另一个分支一样.
这是可能的还是github桌面的限制,我需要使用cmd线?
Sev*_*ven 43
一般情况下,您可以返回历史记录中的提交git reset.
使用GitHub Desktop无法做到这一点.GitHub Desktop更像是一个同步存储库的工具,而不是一个功能齐全的GUI客户端.
但这并不意味着你必须使用命令行,因为有其他选择.你可以在这里找到一个清单.提一些(支持git reset):
以下是在命令行中执行此操作的方法.大多数客户端使用相同的词汇表在其UI中提供此功能(通常,您可以通过上下文菜单选择提交并重置它).
你将回到之前的提交
git reset HEAD^
Run Code Online (Sandbox Code Playgroud)
或者更多提交(例如3)
git reset HEAD^3
Run Code Online (Sandbox Code Playgroud)
或者由特定的提交
git reset f7823ab
Run Code Online (Sandbox Code Playgroud)
请记住,默认情况下,选项--mixed会传递给git reset.因此,所有更改,因为您重置的提交,将仍然存在.
要获得要"恢复"的提交的原始状态,您必须通过--hard.例如:
git reset f7823ab --hard
Run Code Online (Sandbox Code Playgroud)
小智 12
这是关于@SevenEleven 答案的评论。在考虑使用之前应给予强烈警告git reset。
git reset是一个破坏性命令,它删除目标提交(运行时的提交哈希git reset [commit hash]或运行时的最新提交git reset)之后的更改。
如果我正确理解了这个问题,git reset则违反了原始问题中的要求,如引用的:“我只想返回并选择再次前进”。
git checkout对于这种情况,将是更合适的命令,通过允许观察和分支出先前的提交,同时保持所有更改和历史记录完整。
执行后git checkout [older-commit-hash],您可以通过执行命令再次前进git checkout [newer-commit-hash]或git checkout [branch-name]
为了更好地解释 git checkout/reset/revert 之间的区别,你可以查看(没有双关语)这个资源:
https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting
如果你无意中执行了 agit reset并想要恢复你的更改,你可以参考这个 Stack Overflow 线程:
小智 7
我在 Git Desktop 中找到了一个适合我的解决方案,无需使用命令行。
转到历史记录,右键单击要返回的提交,然后单击“从提交创建分支”
帮助我恢复了在最近的提交中丢失的一些数据。之后我就删除了分支并回到了主分支。
| 归档时间: |
|
| 查看次数: |
36294 次 |
| 最近记录: |