如何使用 git 分支来实现项目功能?
How to use git branches for project features?
我正在(独自)处理一个需要添加多个功能的项目。
我习惯于为每个功能创建一个分支。功能开发完成并经过良好测试后,我将该分支功能与主分支合并。
现在,我在 branch-A
上开始了一项尚未完成的功能(我们称之为功能 A)。
但是,我迫切需要在完成功能 A 之前创建一个新功能 B 并推送它。这就是我创建 branch-B
并切换到它的原因。
然而,运行 一个 git status
命令,我可以看到我在分支 A 中所做的所有更改。我不明白这种默认行为。我希望看到 "no change" 因为它们是不同的分支。我绝对需要在分支 B 中的提交忽略我在分支 A 中所做的一切。
我错过了什么?我怎样才能创建正确的工作流程?
您还没有将更改提交到 branch-A
并切换到 branch-B
,所以您收到了所有这些乱七八糟的东西。
要避免此行为,请永久提交对 branch-A
的更改或临时 stash 更改。
您可能会看到来自 branch-A
的更改,因为您尚未提交它们。在分支之间切换时未删除未跟踪的更改。
执行以下操作:
# Switch back to branch-A
git checkout branch-A
# Check the status
git status
# Add all of the changes
git add .
# Commit the changes
git commit -a
# Switch back to branch-B
git checkout branch-B
# Check git status
git status
如果您想临时提交您的更改(并且您不想使用 git stash
),您可以创建一个新分支 branch-A
:
# Switch back to branch-A
git checkout branch-A
# Create a new branch
git checkout -b branch-A-temp
# Add all of the changes
git add .
# Commit the changes
git commit -a
# Switch back to branch-B
git checkout branch-B
# Check git status
git status
您可以稍后返回 branch-A-temp
并继续进行更改。完成后,您可以将它们合并到 branch-A
.
学习自由地使用分支 - 它们轻巧且易于使用。如果你想尝试一些东西,为它创建一个分支。它们最大限度地降低了丢失更改的风险,并且您仍然拥有完整的历史记录,您可以来回合并等等。分支非常适合此类工作。
我认为您在 branch A
中创建了一个新的 branch B
。这将创建以 branch A
作为基础的 branch B
。您必须在 master
中创建 branch B
。或者简单地使用这个命令
git checkout -b new-feature master
我正在(独自)处理一个需要添加多个功能的项目。 我习惯于为每个功能创建一个分支。功能开发完成并经过良好测试后,我将该分支功能与主分支合并。
现在,我在 branch-A
上开始了一项尚未完成的功能(我们称之为功能 A)。
但是,我迫切需要在完成功能 A 之前创建一个新功能 B 并推送它。这就是我创建 branch-B
并切换到它的原因。
然而,运行 一个 git status
命令,我可以看到我在分支 A 中所做的所有更改。我不明白这种默认行为。我希望看到 "no change" 因为它们是不同的分支。我绝对需要在分支 B 中的提交忽略我在分支 A 中所做的一切。
我错过了什么?我怎样才能创建正确的工作流程?
您还没有将更改提交到 branch-A
并切换到 branch-B
,所以您收到了所有这些乱七八糟的东西。
要避免此行为,请永久提交对 branch-A
的更改或临时 stash 更改。
您可能会看到来自 branch-A
的更改,因为您尚未提交它们。在分支之间切换时未删除未跟踪的更改。
执行以下操作:
# Switch back to branch-A
git checkout branch-A
# Check the status
git status
# Add all of the changes
git add .
# Commit the changes
git commit -a
# Switch back to branch-B
git checkout branch-B
# Check git status
git status
如果您想临时提交您的更改(并且您不想使用 git stash
),您可以创建一个新分支 branch-A
:
# Switch back to branch-A
git checkout branch-A
# Create a new branch
git checkout -b branch-A-temp
# Add all of the changes
git add .
# Commit the changes
git commit -a
# Switch back to branch-B
git checkout branch-B
# Check git status
git status
您可以稍后返回 branch-A-temp
并继续进行更改。完成后,您可以将它们合并到 branch-A
.
学习自由地使用分支 - 它们轻巧且易于使用。如果你想尝试一些东西,为它创建一个分支。它们最大限度地降低了丢失更改的风险,并且您仍然拥有完整的历史记录,您可以来回合并等等。分支非常适合此类工作。
我认为您在 branch A
中创建了一个新的 branch B
。这将创建以 branch A
作为基础的 branch B
。您必须在 master
中创建 branch B
。或者简单地使用这个命令
git checkout -b new-feature master