Git分支使用

我们首先,使用如下命令常见一个仓库:

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