【发布时间】:2015-06-30 22:23:37
【问题描述】:
在使用 Git 作为我的版本控制时,我需要制定一些策略。
以下是使用本地分支时的几个场景。
有人可以解释一下我该如何处理这些:
A 和 B 是本地分支 X 是远程分支
A 从 X 中提取,做了一些更改。不上演,不承诺,不推动。 如何切换到分支 B 而不丢弃 A 的更改但不将它们包含在 B 中
A 从 X 中拉出,进行了一些更改。很少有未暂存的(是/否),暂存的更改,未提交,未推送。 如何切换到分支 B 而不丢弃 A 的更改但不将它们包含在 B 中
A 从 X 中拉出,进行了一些更改。很少有未暂存的(是/否),暂存的更改,已提交的更改,未推送。 如何切换到分支 B 而不丢弃 A 的更改但不将它们包含在 B 中
A 从 X 中提取,做了一些更改。希望保留这些更改的副本,并希望在 A 中的更改之上同时处理其他 2 个功能 (我同时开发多个功能的原因是因为我可能正在等待有人在该功能中进一步处理的消息,并且不想浪费时间)
-
A是从X中拉出来的,做了一些改动。 A被推到远程。希望没有这些更改的旧版本为相同功能采用另一种方法。这里有两个子场景:
- 在从 X 中拉出 A 之后,在我将 A 推回远程之前,没有人推送任何更改。
- 在从 X 中拉出 A 之后,在我将 A 推回远程之前,有人推送了新代码。
可能确实很少有案例具有相同的解决方案,并且很少有案例可能没有实际意义/无效,但我发布它们是为了了解它们为什么没有实际意义/无效并为了完整性。 在高层次上,我试图了解 stash 的行为,暂存提交并获得一些方便的参考,而不是花费我的开发时间来玩弄 git,以便我可以在任何时候处理不同的功能。 我不希望创建新的工作区(eclipse)/工作目录(Git)作为解决方案的一部分。
【问题讨论】:
-
您应该做好功课,或者至少提供您尝试过的示例。 Git 有一些非常棒的文档.. git-tower.com/blog/git-cheat-sheet git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
标签: git git-branch git-stash git-add