标签: git-reset

重做"Git重置 - 硬HEAD ^"命令

可能重复:
撤消git reset --hard HEAD~1

我使用命令行:

git reset --hard HEAD ^

我怎么能重做呢?

git git-reset

3
推荐指数
1
解决办法
4880
查看次数

'reset hard head'和'reset hard'有什么区别?

我是git的新手,所以问题可能很容易,git reset --hard HEAD和之间的区别是什么git reset --hard

git git-reset

3
推荐指数
1
解决办法
160
查看次数

git reset --soft 似乎改变了索引

通读了Mark Dominus 的文章Scott Chanon 的文章后,我认为这git reset abcd --soft不会影响索引,但是,以下内容表明确实如此。

重置前

c1.txt, c2.txt,c3.txt在回购中,c4.txt在索引中。全部在工作目录中:

历史:

$ git log --oneline --decorate
b91d91b (HEAD, master) C3
231a5df C2
7e7b2d7 C1
Run Code Online (Sandbox Code Playgroud)

指数:

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   c4.txt
Run Code Online (Sandbox Code Playgroud)

工作目录:

$ ls
c1.txt  c2.txt  c3.txt  c4.txt
Run Code Online (Sandbox Code Playgroud)

轻柔地重置为 C2 提交

$ git reset 231a --soft

$ git log --oneline --decorate
231a5df (HEAD, …
Run Code Online (Sandbox Code Playgroud)

git git-reset

3
推荐指数
1
解决办法
287
查看次数

软重置后返回最新提交

我知道有人已经问过这个问题,但没有人提供帮助我的解决方案。

我使用 GitKraken,它显然没有用于检查历史中较旧提交的集成功能(我必须测试一下,没有进行任何更改)。我现在知道我应该使用git checkout HEAD~n而是使用软重置。所以 GitKraken 仍然显示我的更改在那里并且在我重置的更改之后出现。但是我怎样才能回到我最近的提交呢?退房也不起作用。

我不确定 GitKraken 是否只是显示错误,但 Git 告诉我我重置的提交是当前的 HEAD。似乎是正确的。

有什么方法可以恢复以下提交或将它们设置为 HEAD?

编辑重复标签:引用的线程是关于通过检查以前的提交来返回它的预期方式(我没有这样做)。由于我进行了软重置,因此我的主分支的 HEAD 不再是实际的最新提交,而是我将本地存储库重置为的那个。git reflog与重置一起使用有助于撤消已完成的操作。

git git-reset

3
推荐指数
1
解决办法
1125
查看次数

git reset --HARD 在公开共享的分支上的后果?

我在这里阅读 git 教程,其中提到:

\n\n
\n

不要\xe2\x80\x99t 在其他开发人员从中拉取的公开可见分支上使用 git Reset,因为这会强制其他开发人员进行不必要的合并来清理历史记录

\n
\n\n

我不明白问题是什么。如果我有一个公共分支,有 4 个提交,A->B->C->D。D 是最新提交。如果我硬重置回 B。然后,对于已经获取此分支的其他开发人员,当他们再次执行 git fetch 时,他们会看到它们比远程提前了 2 个提交,因此他们重置回B和都好对吧?或者我错过了什么?

\n

git git-reset git-workflow

3
推荐指数
1
解决办法
232
查看次数

Git重置 - 遥控器/原点/主控不与本地主控同步

在我的一个存储库中,本地主服务器位于远程控制器/ origin/master之前

* - master (123)
* -
* - remotes/origin/master (456)
Run Code Online (Sandbox Code Playgroud)

我所有的其他本地存储库(基于相同的远程存储库)都具有相同提交哈希(123)的远程/ origin/master.如何重置本地仓库以使遥控器/原点/主机重新同步?

git version-control git-reset

2
推荐指数
1
解决办法
2368
查看次数

如何撤消分支推送到主控

好的,所以我在GitHub上有一个分叉的回购,而且自从我分叉后,上游回购没有更新.昨天,我创建了一个基于最后一次上游提交的分支,这是在我几个月前分配回购之前做的.

我在分支上做了一个错误的提交,所以我尝试通过git push -f origin HEAD^:master在我的本地分支实例上使用它来撤消它,但正如你所看到的,我忘了改为master分支的名称.所以它最终覆盖了我在主人身上所做的一切.

我的问题是,有没有办法解决这个混乱,所以我可以让主人回到这个特定的推动之前的状态?

我经常使用TortoiseGit和TortoiseSVN,在Git的任何组件之前我都看不到我在主服务器上做过的任何事情,但是我仍然可以在SVN trunk的历史日志中看到我之前的所有提交.我之前没有一个干净的本地主实例.

我试过的东西一样git reset --hard <last good commit hash>git push -f origin <last good commit hash>:master,但它说,任何犯了这样的哈希存在.我仍然可以从浏览器历史记录中访问GitHub上的所有先前提交.

下游没有任何东西,所以不用担心.

有小费吗?

git github git-svn git-push git-reset

2
推荐指数
1
解决办法
4031
查看次数

git中软复位和修改提交之间的区别

我正在学习git并且遇到了git soft reset并修改了git中的提交.我看到他们两个都是为了同一个目的.两者之间有任何显着差异.请告诉我,因为我无法看到两者之间有任何区别.

git git-reset

2
推荐指数
1
解决办法
526
查看次数

git reset HEAD ^ --hard删除所有内容吗?

我完成了一个项目,我得到了一个合并冲突,所以我愚蠢跑git reset HEAD^ --hard,现在我的所有文件都消失了,除了我的节点模块文件夹(这是在的.gitignore)。反正我有可以恢复我的文件?

我使用VScode

git github git-reset

2
推荐指数
1
解决办法
300
查看次数

为什么`git reset --hard HEAD~X`会留下未跟踪的文件?

git reset --hard HEAD留下未跟踪的文件:

当我跑步时git reset --hard HEAD,它应该重置为你所拉的原始版本,据我所知.不幸的是,它留下了文件,git status显示了一个未跟踪文件的大列表.

你怎么告诉git"只是把它带回到最后一次拉动中,没有更多,没有更少"?

要摆脱这些文件,我必须运行git clean -df.

有人可以解释为什么它以这种方式工作,哪些文件将成为未跟踪的?

git git-reset

2
推荐指数
1
解决办法
595
查看次数

标签 统计

git ×10

git-reset ×10

github ×2

git-push ×1

git-svn ×1

git-workflow ×1

version-control ×1