可行的解决方法:
- 问题 1
-
mkdir myrepo; cd myrepo
-
git init (初始化 git 项目)
-
echo "Initilize project" > a.txt" (在 a.txt 文件增加内容);
-
git add a.txt(提交到暂存区);
-
git commit -s -m "First commit"(提交到仓库)
- 问题 2
-
git checkout -b dev
-
echo "Add feature 1" >> a.txt(在 a.txt 末尾添加内容)
-
git add a.txt(提交到暂存区);
-
git commit -s -m "Modify a.txt"(提交到仓库)
- 问题 3
-
[方法1] 输入 git commit --amend 后会打开编辑器输入待修改的内容即可。
-
[方法2] 通过 git log 找到 "Modify a.txt" 提交的 ID 前 7 位数字;git rebase -i ID^ (注意别忘记了^);将 pick ID Modify a.txt 中的 pick 改为 reword,再输入提交信息
- 问题 4
-
git checkout master
-
[方法1] git rebase dev [方法2] git merge dev 很多时候用rebase取代merge是更好的选择,下同。
- 问题 5
-
git checkout dev
-
在 a.txt 增加 Add
-
git stash(储藏你的工作)
-
git checkout -b bug
-
使用编辑器将 Initilize 改为 Initialize
-
git add a.txt
-
git commit -s -m "Correct errors in the first commit"
- 问题 6
-
git checkout master
-
git rebase bug (或者:git merge bug)
-
git checkout dev
-
git stash pop(在 branch dev 上应用储藏内容,并删除栈上内容)
- 问题 7
-
git checkout dev
-
echo "Add feature 2" >> a.txt"
-
git add a.txt
-
git commit -s -m "Add feature 2"
- 问题 8
-
使用编辑器对 a.txt 进行修改
-
git add a.txt
-
git commit --amend
- 问题 9
-
git checkout master
-
git rebase dev
- 问题 10
-
新开终端2,cd /path/to/S
-
git clone /path/to/your/folder
- 问题 11 切换到终端1
-
git remote add S /path/to/S
-
git checkout dev
-
用编辑器打开 a.txt 进行修改
-
git add a.txt
-
git commit -s -m "Add feature 3.1"
- 问题 12 切换到终端2
-
git checkout dev
-
用编辑器打开 a.txt 进行修改
-
git add a.txt
-
git commit -s -m "Add feature 3.2"
- 问题 13 切换到终端1
-
git pull --rebase S dev 会看到提示说有冲突
-
用编辑器打开 a.txt 手动解决冲突
-
git add a.txt
-
git rebase --continue
- 问题 14 终端1操作
-
git checkout master
-
git rebase dev
- 问题 15 终端1操作
- git tag -a "V0.1" -m "Version 0.1:Feature 1, Feature 2, Feature 3"
- 问题 16 终端2操作
-
git checkout master
-
git pull --rebase
-
git branchn -d dev