我们首先,使用如下命令常见一个仓库:
git init git_checkout_merge
现在,我们进入到该仓库:
cd git_checkout_merge/
在该目录,使用 vim 新建一个文件,具体命令如下:
vim master.txt
并向里面写入内容:
echo "first version 1.0" > master.txt
提交该文件:
git add . git commit -m "first version 1.0"
修改文件内容:
echo "second version 2.0" >> master.txt
再次提交:
git add . git commit -m "second version 2.0"
创建新的分支:
git branch test
切换到 test 分支:
git checkout test
再次修改文件:
echo "Thrid version 3.0" >> master.txt
创建新文件:
touch test.txt
再次提交:
git add -A git commit -m "Thrid version 3.0"
现在,我们再次切换到 master 分支:
git checkout master
查看文件,发现 test.txt 没有了,master 也没有被更新:
ls cat master.txt
使用 git log,查看所有的提交:
git log --oneline --decorate --graph --all
创建 tag:
git tag "v0" 6b1744f git tag -a "INITIAL_COMMIT" 6b1744f
查看 tag:
git tag
再次查看提交:
git log --oneline --decorate --graph --all
给上面的命令起别名:
git config --global alias.lol "log --oneline --decorate --graph --all"
查看:
git lol
查看 tag 的具体内容:
git show v0 git show INITIAL_COMMIT
检出 tag v0:
git checkout v0
用当前的 tag 创建新的分支:
git checkout -b fix_v0
修改 master.txt:
echo "fix_v0" >> master.txt
提交到暂存区:
git add .
切换分支,报错:
git checkout master
创建 stash,相当于把现在的暂存区保存下,不然此时切换分支会报错:
git stash save -a "stash1"
再次切换到 mster 分支:
git checkout master
切换到 fix_v0 分支:
git checkout fix_v0
查看有哪些 stash:
git stash list
还原 stash 到工作区和暂存区:
git stash pop --index stash@{0}
查看 stash,发现被清空了:
git stash list
删除 stash:
git stash drop stash@{0}
清除所有 stash:
git stash clear
切换分支:
git checkout master
利用当前分支创建新分支:
git checkout -b test_merage
修改文件:
echo "LAST" >> master.txt
提交:
git add . git commit -m "LAST"
查看:
git lol
切换到 master 分支:
git checkout master
merge 当前分支和 test_master 分支:
git merge test_merage