Git 学习第三天(一)
远程克隆:
在github新建一个仓库,起名为gitskills
勾选此项,会自动创建一个readme.md文件,然后通过命令
git clone git@github.com:Your.name/gitskills.git
克隆到本地仓库中
比如,我在gitskills 下添加了一个文件,那么,想同步推送到github上,就需先进去gitskills文件夹
cd gitskills
然后再执行 git add git commit git push 等草做推送到远程仓库。
_____________________________________________________________
分支管理:
创建分支 dev ,然后切换到 dev 分支,
git checkout -b dev
加上 -b 参数是指创建并切换,
实际上,这相当于两条命令
git branch dev ------- 创建分支
git checkout dev --------- 切换分支
git branch ------ 显示所有分支
当前分支前会有 * 号
当前分支的操作不会影响其它分支,比如,我在dev分支下,对readme.txt 文件修改了内容,并且推送到版本库中,然后切换回master分支,查看readme.txt内容,发现,并没有改动.
git checkout master -------切换分支到master
将dev分支合并到master分支
git marge dev ----------- 将dev分支合并到当前分支
在dev修改的内容会合并到master上,在master分支上查看内容,发现,master分支下的readme.txt文件内容增加了再dev分支下的修改.
使用完dev 分支,我们就可以将之删除掉,
git branch -d dev
此时,再查看
git branch ,分支就只有master 了.
解决冲突:
我们创建一个分支 feature1,
git checkout -b feature1
然后在当前分支下修改readme.txt
git add 提交到暂存库 git commit 提交到版本库
接下来,切换回master分支,修改readme.txt 内容为
git add 提交到暂存库 git commit 提交到版本库
然后合并feature1到master
git merge feature1
果然冲突了!Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status
也可以告诉我们冲突的文件:
查看 master 分支下readme.txt
HEAD 即 master 分支下为:
feature1 分支下为:
此时,需要我们手动解决冲突,修改为:
git add 提交到暂存库 git commit 提交到版本库
查看文件:
用带参数的git log
也可以看到分支的合并情况:
最后,删除feature1
分支:
$ git branch -d feature1 Deleted branch feature1 (was 75a857c).
git log --graph
命令可以看到分支合并图。