git重新提交恢复提交

时间:2010-06-30 14:27:42

标签: git github

我在github上托管了一个项目。在生产中部署的代码有一个主分支(主分支)。个别项目从main(proj-001,proj-002 ......)分支。

所以在项目/部署过程中......

  • git checkout main-branch
  • git pull origin main-branch
  • git checkout -b proj-001
  • (做一些编辑)
  • git add。
  • git commit -a -m“some notes”
  • (将主分支合并到我的工作分支中)
  • (进行更多编辑)
  • git add。
  • git commit -a -m“更多注释”

在某些时候,图书管理员将所有代码拉到一起进行测试/部署循环。如果特定分支出现问题,则将其恢复。 (坏消息是,一旦它被还原,将该分支重新带回主分支是困难且有风险的。)

所以我的问题:什么是将我的提交拉入新分支的最佳和最简单的方法? (我目前尝试“挑选”导致错误“致命:您的索引文件未合并。”谷歌未能描述。

更新:我已经更新了这些事件......图书管理员无意中将主分支合并到我的工作分支......不止一次。

1 个答案:

答案 0 :(得分:2)

我真的希望别人能够回答这个问题......但与此同时,因为我有一个答案而且它似乎正在起作用......我不妨分享一下。

最大的问题是其他人将主分支合并回我的分支。这使得任何樱桃采摘或应用困难。此外,找到合适的命令会给我一个全面的变更列表是一个挑战。所以基本概要:

  • 结帐我的项目
    • git checkout
  • 获取我的更改列表
    • git log --pretty = oneline --committer => /tmp/changeset.txt
  • 编辑文件并删除说明,在每行前加上'git merge'
  • 颠倒顺序
    • tail -r /tmp/changeset.txt
  • 然后一次合并一个并解决发生的任何冲突。