有谁知道如何轻松撤消git rebase?
想到的唯一方法是手动进行:
在我目前的情况下,这是可行的,因为我可以很容易地发现两个分支的提交(一个是我的东西,另一个是我的同事的东西).
然而,我的方法让我感到不理想和容易出错(假设我刚刚用自己的2个分支重新定位).
有任何想法吗?
澄清:我正在谈论一个rebase,在此期间重播了一堆提交.不仅仅是一个.
我想保留(现在)能够将Git变更集链接到存储在TFS中的工作项.
我已经编写了一个工具(使用Git中的一个钩子),我可以在其中将workitemidentifiers注入到Git变更集的消息中.
但是,我还想将Git提交的标识符(哈希)存储到自定义TFS工作项字段中.通过这种方式,我可以检查TFS中的工作项,并查看与工作项相关联的Git更改集.
如何从Git的当前提交中轻松检索哈希?
我"意外地"向GitHub推送了一个提交.
是否可以删除此提交?
我想恢复我提交之前的GitHub存储库.
我正在使用git,我正在进行我的开发工作,我不想推,即使是错误的.是否有一种方法可以在某些本地存储库中禁用推送.一种方法是重命名分支,另一种方法是撤消推送,如果一个人错误地做,但我希望应该有一个更直接的方法.
可能重复:
撤消'git push'
我推了一些不好的代码,我是存储库的唯一用户.我怎么能回滚我的最后一次提交?
当强制推动变化时,这两个git命令有什么区别?
git push -f origin branch 和 git push origin +branch
可能重复:
如何将修改后的提交推送到远程git仓库?
撤消git推送
嗨,
我通过使用删除了我的主分支的一些提交
git reset --hard SHA_VALUE
Run Code Online (Sandbox Code Playgroud)
我有一个github上的远程版本的存储库,每当我发现git push错误消息时,我都应该合并远程存储库中包含的更改(我不想这样做).
所以我的问题是,git reset命令的远程等价物是什么?
谢谢
做push --force总是有点冒险,这里有一个例子说明它如何产生一些问题,比如远程修改版本.
假设,有一些人鲍勃已经进行了远程更新master从分支B到C.并且还有另一个人迈克没有获取此更新HEAD,他master的仍然是B.然后Mike做push --force并突然再次master向远程回滚B:
mike@laptop $> git push --force origin
Counting objects: 19, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 2.27 KiB, done.
Total 12 (delta 8), reused 0 (delta 0)
remote: => Syncing... [OK]
To git@gitserver.com:path/to/project.git
C..B master -> master (forced update)
Run Code Online (Sandbox Code Playgroud)
换句话说,在 …
我的任务如下:在收到新的提交(通过单次推送)时,有必要执行 github 操作,该操作将通过 ssh(使用git pull和npm test)将任务发送到测试服务器上进行测试。然后,如果测试失败,则应取消此推送(其中的所有提交)。
第一部分,似乎没有问题,但是我想不出如何实现第二部分,即取消推送。感谢您对问题的关注!
git ×10
github ×2
changeset ×1
git-commit ×1
git-rebase ×1
git-squash ×1
push ×1
rebase ×1
squash ×1
tfs ×1
tfs-workitem ×1
undo ×1