我正在使用GithubDesktop(以前称为GitHubforWindows),我对本地文件进行了一系列更改。它变得一团糟,我决定我只想将我的本地文件回滚到它们上次提交时的位置。我还没有提交新的更改-我只是想摆脱它们。我该怎么做? 最佳答案 当您打开GitHubforWindowsv2.0(GitHubDesktop的前身)并在最左侧的列中选择您的存储库时,您将在从左数第2列。如果您选择这些提交之一,在顶部的右栏中您会看到“还原”,当您将鼠标悬停在上面时,它会显示“创建一个新的提交来还原此提交中的更改。”我认为这不是您想要做的,因
我以已知的良好状态提交了我的工作(注意不是推送)。从那以后,我做了不需要的本地更改(没有提交或push它们)。撤消这些更改并恢复到我之前的提交状态的命令是什么?请接受我对新手问题的道歉,但我通过谷歌搜索得到的建议似乎很神秘,我想对自己的行为充满信心。 最佳答案 来自ProGitCommnuitybook:FixingmistakesIfyou'vemesseduptheworkingtree,buthaven'tyetcommittedyourmistake,youcanreturntheentireworkingtreetothe
这些天我正在学习如何使用git,我不得不做很多碰碰运气的事情。因此,我需要删除并重新创建我的远程和本地存储库。有没有办法回滚到repo的第一次提交并删除之后的所有历史记录?基本上是一个干净的实验平台。 最佳答案 我不知道有什么方法可以完全按照您的要求进行操作(可以回滚到第一次提交,但不能删除所有历史记录,因为历史记录至少包含初始的提交。)如果我是你,我会删除远程仓库和.git本地repo的目录,然后从gitinit开始.我能得到的最接近您要求的是回滚除第一个提交之外的所有内容。为此,您首先要找到第一次提交的SHA1,例如:%gitr
我已经提交并推送了几个补丁:A1-->A2-->A3-->A4(头部)每个人都将这些变更集pull到他们的本地副本中。现在我们要“回滚”到A2,并从那里继续开发-基本上丢弃A3和A4。执行此操作的最佳方法是什么? 最佳答案 从你的工作副本的根目录开始gitcheckoutA2--.gitcommit-m'goingbacktoA2'使用gitrevert为此目的会很麻烦,因为您想摆脱整个系列的提交,并且revert一次撤消它们。你不想gitreset任何一个。这只会改变你的master分支指针:你不会留下错误方向的记录。协调起来也很
我刚刚做了一个gitcommit-m"blah"然后我添加了一些文件,如何回滚和删除当前文件中尚未添加/提交的内容? 最佳答案 CaveatEmptor-前方有破坏性命令。缓解措施-gitreflog可以在您需要时拯救您。1)UNDO本地文件更改并KEEP你最后一次提交gitreset--hard2)UNDO本地文件更改并REMOVE你最后一次提交gitreset--hardHEAD^3)KEEP本地文件更改并REMOVE你最后一次提交gitreset--softHEAD^ 关于git-
我有一个远程Git存储库,我需要将最后的n提交回滚到冷遗忘状态。 最佳答案 您可以使用gitrevert…对于所有n次提交,然后像往常一样推送,保持历史不变。或者您可以使用gitreset--hardHEAD~n“回滚”.如果您正在推送公共(public)或共享存储库,您可能会根据您的原始分支分散和破坏其他人的工作。Git会阻止你这样做,但你可以使用gitpush-f强制更新。 关于git-回滚远程Git存储库,我们在StackOverflow上找到一个类似的问题:
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicates:Undoinga'gitpush'我推送了一些错误的代码,而且我是存储库的唯一用户。如何回滚上次提交?
我的存储库现在有100个提交。我需要回滚存储库以提交80,并删除所有后续的。为什么?这个repo应该是为了merge来自其他用户的。由于过多的编辑,我提交了一堆merge。那是由于我的远程分支标记错误,其中3个开发人员被标记为彼此。我需要重新回到那个点,然后向前pull。我想rebase,如本例所示:HowcanIremoveacommitonGitHub?但是,git要我做很多冲突管理工作。有没有更简单的方法? 最佳答案 gitreset--hardgitpush-f注意:正如下面的评论所写,在协作环境中使用它是危险的:你正在重写
这个问题在这里已经有了答案:HowdoIrevertaGitrepositorytoapreviouscommit?(41个回答)关闭8年前。我克隆了一个Git存储库,然后尝试将其回滚到开发过程早期的特定提交。在那之后添加到存储库的所有内容对我来说都不重要,因此我想省略本地源代码中的所有后续更改。但是,当我尝试在GUI工具中回滚时,它不会更新我的本地文件系统-我总是以项目的最新源代码结束。仅获取项目历史中特定提交的存储库源代码并忽略所有后续更新的正确方法是什么?
如何回滚到git中的特定提交?有人能给我的最佳答案是使用gitrevertX次,直到我达到所需的提交。假设我想恢复到20次提交之前的提交,我必须运行它20次。有没有更简单的方法来做到这一点?我不能使用重置,因为这个存储库是公开的。 最佳答案 试试这个:gitcheckout[revision].其中[revision]是提交哈希(例如:12345678901234567890123456789012345678ab)。不要忘记最后的.,非常重要。这会将更改应用于整棵树。您应该在git项目根目录中执行此命令。如果您在任何子目录中,则此