最近发现了一个学习git的地方,下面是廖老师的官网链接
https://www.liaoxuefeng.com/wiki/896043488029600
经过多天的学习
基本了解了git的使用方式
还要经常练习使用git的命令
下面是我跟着学习时,摘抄过来的记录
创建与合并分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支: git merge <name>
删除分支: git branch -d <name>
解决冲突
查看分支合并图
$ git log --graph --pretty=oneline --abbrev-commit
分支管理策略
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
$ git merge --no-ff -m "merge with on-ff" dev
BUG分支
git stash 当前工作现场“储藏”起来
git stash list 工作现场列表
git stash apply 恢复,stash内容并不删除
需要用git stash drop来删除
用git stash pop,恢复的同时把stash内容也删了
Feature分支
git checkout -b feature -vulcan
删除
git branch -D feature-vulcan
多人协作
查看远程库信息,使用git remote -v;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
Rebase
git rabase
操作可以把本地未push的分叉提交历史整理成直线
标签管理
命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a <tagname> -m "blablabla..."
可以指定标签信息;
命令git tag
可以查看所有标签。
命令git push origin <tagname>
可以推送一个本地标签;
命令git push origin --tags
可以推送全部未推送过的本地标签;
命令git tag -d <tagname>
可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>
可以删除一个远程标签。
加油,小伙子,时间不多了。