VS Code中Git Graph分支创建与关联的正确Git命令咨询
修正后的Git命令(生成预期Git Graph)
以下命令会保留清晰的分支结构,确保VS Code的Git Graph能呈现正确的分支关联:
# 初始化仓库并完成初始提交 git init echo "#Main project" > main.py git add main.py git commit -m "create main.py" git commit --allow-empty -m "first draft" # 创建add_multiplication分支并完成开发提交 git checkout -b add_multiplication echo "def multiply(a, b): return a * b" > multiply.py git add multiply.py git commit -m "adding multiplication" git commit --allow-empty -m "included documentation" # 切回main分支,通过非快进合并保留分支线 git checkout main git merge add_multiplication --no-ff -m "merge add_multiplication" # 继续在add_multiplication分支提交(形成独立的后续开发线) git checkout add_multiplication git commit --allow-empty -m "add exception of dividing by 0" # 创建add_addition分支并完成系列提交 git checkout main git checkout -b add_addition echo "def add(a, b): return a + b" > add.py git add add.py git commit -m "adding addition" git commit --allow-empty -m "refining addition" git commit --allow-empty -m "reformulating addition" git commit --allow-empty -m "finalizing" # 非快进合并add_addition到main git checkout main git merge add_addition --no-ff -m "merge add_addition" # 创建reformulate_addition分支并完成提交 git checkout main git checkout -b reformulate_addition echo "def subtract(a, b): return a - b" > subtract.py git add subtract.py git commit -m "reformulating addition" git commit --allow-empty -m "fail, use previous version again" # 非快进合并reformulate_addition到main git checkout main git merge reformulate_addition --no-ff -m "merge reformulate_addition" # main分支后续提交 git commit --allow-empty -m "add visualization" git commit --allow-empty -m "try to resolve merge conflicts" git commit --allow-empty -m "resolve merge conflict"
分支交叉的实现方法
分支交叉指不同特性分支之间互相合并(而非仅合并到主分支),从而在Git Graph中形成交叉线条,具体操作步骤:
- 基于main创建两个并行分支,比如
branch-A和branch-B - 在两个分支上分别进行独立的提交操作
- 将其中一个分支合并到另一个分支(例如切到
branch-B,执行git merge branch-A --no-ff -m "merge branch-A into branch-B") - 再将合并后的分支合并到main分支
- 也可以反向合并(将
branch-B合并到branch-A),形成更复杂的交叉结构
核心注意点:
- 必须使用
--no-ff参数执行合并,强制Git创建合并提交,保留分支的历史线条 - 让不同分支并行开发后跨分支合并,就能在Git Graph中呈现交叉效果
内容的提问来源于stack exchange,提问作者Alina D.
相关产品推荐
相关产品推荐

