时间线?
版本与版本之间,按照时间先后顺序串成一个时间线
一个分支就是一条时间线
创建一个新的分支
相当于记录一个不同的发展轨迹
至于这种发展轨迹能不能成为最终的轨迹,主要看最后能不能合并上去
也可以还是理解成一条时间线
git branch?
查看当前所有的分支名,当前分支前面有*标识
合并方式?
git的合并方式有Fast-forward的方式
git branch -d <分支名>?
删除某一分支
git switch -c <新分支名>?
创建并切换到一个新的分支
git switch master?
切换到主分支
Fast-forward的合并方式,什么时候不行?
在新分支上一顿操作
切换到主分支,在主分支上也来了一顿操作,并且两次操作并不完全相同
尝试合并分支的时候,就会产生冲突
--abbrev-commit?
加上这个参数,commit id就会简化
i ESC :wq ?
一系列操作,编辑以后保存退出
recursive strategy?
就我的理解,这种策略会新建一个commit,并且可以通过commit历史查看到,这种策略相对较好
--no-ff ?
使用普通模式合并
分支策略?
master分支一定要稳定
平时在dev分支干活
每一个人有自己的一个分支
bug怎么办?
在有BUG的分支上另外创建一个新的分支
在新的分支上进行修改BUG操作
然后合并到原来分支上
但是假如一开始自己的分支上进行了操作但是还没发立刻提交
此时,就需要使用git stash命令暂时保存你的工作区和暂存区的修改
你在master分支上修改完BUG,同样的BUG肯定还出现在你工作的分支上,怎么办?
git cherry-pick <commit id>
多人协作的工作模式?
1.尝试git push origin <分支名>
2.失败的话,git pull origin <分支名>
3.冲突的话,先解决冲突,然后再本地提交
4. git push origin <分支名>
设置本地分支和远程分支的连接?
git branch --set-upstream-to=origin/<分支名> <分支名>
git常用命令?
git stash lish
git stash apply/drop/pop
git apply stash@{0}
git remote
git remote -v
git push origin <分支名>
git pull origin <分支名>
git tag v1.0
git tag v1.0 <commit id>
git show v1.0
git tag -a v1.0 -m "version 1.0 released" <commit id>
git tag -d v1.0
git push origin:refs/tags/v1.0
git push origin v1.0
git push origin --tags