我对Git很新,我作为实习生加入了一家公司。我(愚蠢地)通过拉动我们的临时环境来启动我的所有分支。因此,当我在github上进行比较时,有一百个提交,然后是地雷。 问题在于,将这些分支推到主人身上有太多的冲突。
这就是为什么我拼命想要找到一种方法从特定的提交中启动一个分支,而没有前一个(即那些来自分段拉)的那些,只有最新的。 例如:
git pull origin staging
[I did my stuff]
git commit -m "some stuff done"
[some other stuff]
git commit -m "other stuff done"]
我想回到“完成一些事情”的提交,而没有“拉动起源阶段”所做的一切,并保持“完成其他工作”。
我已经检查并尝试了default_scope is evil上的解决方案,但它仍保留旧提交。
谢谢!
答案 0 :(得分:0)
这听起来像是需要git cherry-pick
的情况。
我会回到主人,我明白你希望你的分支从一开始,创建一个新的分支,然后樱桃挑选你的提交。
git checkout master
git checkout -b my_branch
git cherry-pick
commit1 git cherry-pick
commit2 其中 commit1 和 commit2 是第一次和第二次提交的sha1哈希值。
如果主分支是您执行两次提交时的位置,则需要稍微修改上述命令。
git checkout -b my_branch origin/master
或其他一些sha1哈希而不是origin/master
。git checkout master
git reset --hard origin/master
。git checkout my_branch
。希望这有帮助。