Git闯关游戏:Learn Git Branching Level 4-3 提交技巧#2

305 阅读1分钟



Level 4-3 《提交技巧#2》

2022-08-15_163125.png

这一关使用cherry-pick复制分支,commit --amend修改提交,不仅在游戏里学习,你还可以在真实环境中进行实验。

游戏答案:

# 切换到main
git checkout main

# 复制c2到main分支下
git cherry-pick c2

# 做一次小的修正提交
git commit --amend

# 复制c3到当前分支下
git cherry-pick c3

准备实验环境

下面命令完整CV到Windows cmd命令行窗口中执行:

# 准备一个空目录
mkdir level-4-3
cd level-4-3

# 初始化本地仓库,并做两次提交
git init

echo 111>>a.txt
git add .
git commit -m "c0"

echo 222>>a.txt
git add .
git commit -m "c1"

# 新建并切换到newImage
git checkout -b newImage

# 模拟添加一个图片文件并提交
echo Fake Image>>30x30.png
git add .
git commit -m "c2"

# 新建并切换到caption分支,然后提交一次
git checkout -b caption
echo 333>>a.txt
git add .
git commit -m "c3"

# 查看提交树
git log --graph --pretty=oneline --all

image.png

真实答案:

# 切换到master分支
git checkout master

# 使用c2提交的ID,复制这个提交到master下
git cherry-pick acb1

# 模拟修改图片的分辨率
echo Fake Image>120x120.png
del 30x30.png
git add .
# 直接在c2提交上进行一次小的修正修改
git commit --amend --no-edit

# 使用c3提交的ID,复制这个提交到master下
git cherry-pick 5989

# 查看提交树
git log --graph --pretty=oneline --all

image.png