Git 相当于 TFS 在尝试有风险的事情之前先搁置

use*_*980 4 git visual-studio-2015

在 TFS 中,我过去常常在尝试一些有风险的事情或尝试一些事情之前搁置我的更改作为备份。

如果一切顺利的话,我就删除了架子。否则,我取消搁置备份并继续。

我没有兴趣与任何人分享这些变化。

Git 中的等效操作是什么?顺便说一句,我正在使用带有 GitHub 扩展的 VS2015。

lar*_*sks 5

创建一个分支。假设您正在开发master,并且您决定尝试一种解决方案。创建一个新分支:

git checkout -b my-spiffy-new-feature
Run Code Online (Sandbox Code Playgroud)

现在,继续您在my-spiffy-new-feature分支上的工作。如果您突然有了一个完全不同的解决方案的好主意怎么办?只需通过运行以下命令即可从 中创建一个新分支master

git checkout -b another-awesome-feature master
Run Code Online (Sandbox Code Playgroud)

或者等价地:

git checkout master
git checkout -b another-awesome-feature
Run Code Online (Sandbox Code Playgroud)

无论哪种情况,都在您的分支上完成所有工作。如果您决定喜欢该功能,请将其合并回master分支中:

git checkout master
git merge my-spiffy-new-feature
Run Code Online (Sandbox Code Playgroud)

您可以让分支闲置,或者如果不再感兴趣也可以将其删除:

git branch -d my-spiffy-new-feature
Run Code Online (Sandbox Code Playgroud)

请注意,如果您尝试删除尚未合并到其上游分支(即其起源的分支)的分支,则上述操作将会失败;如果你确实想删除一个分支,即使你还没有合并它:

git branch -D another-awesome-feature
Run Code Online (Sandbox Code Playgroud)