如何从当前状态恢复为在某个提交时创建的快照?
如果我这样做git log
,那么我得到以下输出:
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me <me@me.com>
Date: Thu Nov 4 18:59:41 2010 -0400
blah blah blah...
commit 25eee4caef46ae64aa08e8ab3f988bc917ee1ce4
Author: Me <me@me.com>
Date: Thu Nov 4 05:13:39 2010 -0400
more blah blah blah...
commit 0766c053c0ea2035e90f504928f8df3c9363b8bd
Author: Me <me@me.com>
Date: Thu Nov 4 00:55:06 2010 -0400
And yet more blah blah...
commit 0d1d7fc32e5a947fbd92ee598033d85bfc445a50
Author: Me <me@me.com>
Date: Wed Nov 3 23:56:08 2010 -0400
Yep, more blah blah.
Run Code Online (Sandbox Code Playgroud)
如何从11月3日恢复提交,即提交0d1d7fc
?
如何强制覆盖本地文件git pull
?
方案如下:
这是我得到的错误:
错误:未经跟踪的工作树文件'public/images/icon.gif'将被合并覆盖
如何强制Git覆盖它们?这个人是设计师 - 通常我会手动解决所有冲突,因此服务器具有他们只需要在他们的计算机上更新的最新版本.
develop branch
--> dashboard (working branch)
Run Code Online (Sandbox Code Playgroud)
我git merge --no-ff develop
用来将任何上游更改合并到仪表板中
git日志:
commit 88113a64a21bf8a51409ee2a1321442fd08db705
Merge: 981bc20 888a557
Author: XXXX <>
Date: Mon Jul 30 08:16:46 2012 -0500
Merge branch 'develop' into dashboard
commit 888a5572428a372f15a52106b8d74ff910493f01
Author: root <root@magneto.giveforward.com>
Date: Sun Jul 29 10:49:21 2012 -0500
fixed end date edit display to have leading 0
commit 167ad941726c876349bfa445873bdcd475eb8cd8
Author: XXXX <>
Date: Sun Jul 29 09:13:24 2012 -0500
Run Code Online (Sandbox Code Playgroud)
合并中有大约50多个提交,我想知道如何恢复合并,以便仪表板回到合并前的状态
第二部分是,如果我没有合并--no-ff
,我没有得到提交' 合并分支'开发'到仪表板 '..我怎么会回滚合并?
有人接受了他们不应该提出的拉动请求.现在我们已经合并了一堆破碎的代码.你如何撤消拉取请求?我只是要在合并之前将更改还原到提交,但我注意到它在一堆提交中合并.所以现在在合并之前几天就有来自这个人的所有这些提交.你怎么撤消这个?
我把我的git repo搞砸了一下.我在一个单独的分支中处理了一个功能.完成工作后,我切换到主人将其合并,但我的伙伴推了几个与我发生冲突的文件.合并之后,冲突和推动新的变化,我看到我也承诺了我的伙伴的旧变化.
现在我想重做这个提交/合并.我试过
git reset --soft HEAD^
但是当我想要推送时,我收到了此错误消息Merge the remote changes before pushing again
.
谁能帮我?
我们的项目已经使用git一个星期左右了,而且我们都非常享受它(在紧密的协作组中,它变成了一个完全不同的git体验).为了使事情尽可能简单,我们不会进行任何变基或历史修改.但我们确实在第一周犯了一些错误.做了一些不应该做的提交,我们设法将一个功能分支合并到错误的集成分支(1.1而不是1.0).在他们长期进入我们的历史之前,我们没有发现这些事情.
现在我看到很多关于重写历史的警告,但我不确定我是否理解所涉及的危险.我们使用共享的裸存储库,并将所有分支推送到那里进行备份.
我希望如果你重写历史记录(比如删除一个提交),后续提交的完整列表将"丢失"该提交(并且可能不会编译/工作).我也希望如果发生这种情况,我实际上可以选择在历史的顶部解决这个问题(并将这部分历史留作非编译).
任何关于这个主题的文章/教程的参考也会非常好.
我的一个队友错误地将一些提交推到了我们的主要开发部门.我们是一个小型的,并置的团队.我们的远程存储库托管在内部服务器上.
这是我们提交日志的顶部(所有这些提交都已被推送):
$ git log develop -6 --pretty=oneline --abbrev-commit
faada93 Merge branch 'develop' of <our_repo_path>.git
244d174 Support classes again
a97a877 Pruned all unused references (again).
8c29252 Merge branch 'develop' of <our_repo_path>.git
a78b993 Support models & methods - product types & categories
da8b496 Resolved JIRA issue PPF-182
Run Code Online (Sandbox Code Playgroud)
da8b496
是我们想要保留在develop
分支中的最后一个提交,所以我们需要还原最后的5个提交.我们创建了一个新分支,8c29252
以继续在"功能分支"中工作.
我尝试了许多事情,在这个答案和Linus的这篇文章的指导下,最终做了你在下面的终端历史中看到的内容.但我不确定我最终做的是"正确的方式".我发现的信息很复杂; 我无法辨别这个特定问题的"最佳解决方案".
我选择的方法(见下面的详细信息)是否能够在不损害我们历史的情况下还原这5个提交?有没有更简单或"更正确"的方法来完成同样的事情?
除此之外,我考虑从da8b496
(git checkout -b new-develop da8b496
)创建一个新的分支并放弃我们当前的develop
分支,但这感觉不对.
首先,我创建了提交一个新的分支a78b993
和8c29252
,因为这些提交包含我们要保持并最终合并回到我们的主要开发分支的工作.
$ git …
Run Code Online (Sandbox Code Playgroud) 我试图通过使用'revert'命令恢复到git中的某个'hash'数字.
我使用以下命令:
git revert c14609d74eec3ccebafc73fa875ec58445471765
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下返回:
错误:提交c14609d74eec3ccebafc73fa875ec58445471765是一个合并但没有给出-m选项.
致命:恢复失败
作为一个新的git用户,请你解释一下发生了什么以及我要做些什么来解决这个问题.
我想恢复到c14609d74eec3ccebafc73fa875ec58445471765
运行时看到的某个commit()git log
.
我发现了许多类似主题的问题,但我没有找到关于这个问题的任何实际指导:为什么git status
通知我nothing to commit, working directory clean
,甚至很难我在当地分公司做了修改?
以下是我遵循的步骤:
git init
[在分支主机上 - 初始提交,无需提交(创建/复制文件并使用"git add"进行跟踪)]git remote add https://github.com/username/project.git
git pull origin master
touch test
git add test
git commit -m "Adding file for test purposes only."
git status
[在分支主机上 - 没有提交,工作目录清理] 如果我这样做git push
,修改将提交给远程分支.我只想在修改后执行"git status",并接收我在本地分支上更改的信息,必须将其推送到项目的远程分支.
有人能告诉我发生了什么事吗?直截了当,请:(.
在此先感谢SO社区!
git ×10
git-revert ×3
github ×3
revert ×2
commit ×1
git-checkout ×1
git-commit ×1
git-fetch ×1
git-pull ×1
git-rebase ×1
git-reset ×1
merge ×1
overwrite ×1
pull-request ×1