Git简单来说就是一个版本控制系统,就好比几个人一起写文章,第一个人写完自己的一部分上传到这个系统第二个人或者第三个人下载下来成为自己的可以编辑东西,然后觉得有什么地方要修改可以进行修改;在这个软件里还可以看见那些地方是被修改过的,不需要去找像其他些文章要去几个文档里找被修改过的地方;还能更新其他的文章。同理我们可以用这个软件编辑代码,既方便又实用。
一, git的时光穿梭
那么我们要怎么使用这个软件,要把握住三点
1.clone,就gitclone复制
2.pull,将在git上的代码pull下来,放入一个新建的仓库,打开Git Bash软件输入git ssh-keygen -t rsa -C“邮件账户” 回车,找到默认的位置(C:\Users\Administrator\.ssh)里面的id_rsa.pub 文件,将内容复制粘贴到网页端github上setting的Add SSH Key,返回到系统页面验证一下是否设置成功,如果第一次输入命令的话会出先命令yes/no这里就直接输入yes就行了
3.push,如果想要增加文件或者修改文档内容,就用git add “”(冒号里面写要提交的文件名称)用git commit -m“”(写下增加注释)再用git push git@github.com:账户名/仓库名.git;如若要增加所有的本地文件则用git add .(注意add后面要有空格),重复git commit -m “”命令,用push命令再提交一次;同样修改文件也是如此。
二,git的分支管理
1.创建与合并分支
由之前的一大点我们已经知道git把这些修改增加都变成了一个分支,在git里这个分支为主分支由head指向master(master就是提交,在这master是一条线)每一次的提交就是一次增加master的长度,当我们不断地创建新的分支只要提交,也就不断地在增加新分支的长度,完成cinder分支后,切换回到master分支,查看readme.txt内容,可以发现添加的内容不见了,其实在新分支上提交了,而master分并没有改变,将两个分支合成,在查看就能看见内容;这种合并也可以是快进模式,直接把master指向新的分支当前提交,但是也不是每次都可以成功。
2.解决冲突
git会自动的提示我们master分支比远程的分支要超前提交,然后新的分支也在提交,当我们要合并两个分支的时候,就会出现冲突,当新分支存在冲突的时候,就需要我们手动的来解决活动在提交,当然git status 也能够告诉我们冲突的文件。用gt log --graph命令可以看见分支合并图。
3.分支管理策略
在我们合并分支的时候,git可能会用Fast forward模式,在这种模式下是不可以删除分支的,不然会丢失分支的信息。如果要强行禁止模式,就会生成一个新的commit,我们也可以在分支的历史的分支信息。当然我们也要按照几个基本原则进行分支管理,注意合并分支是要加上--no-ff参数是普通的合并,可以看出有合并的痕迹;fast forward合并不能看出痕迹。
4.Bug分支
无论一个什么软件都会有bug的存在,当发现出现bug的时候我们是可以建立一个issue-101
来修复,前提是分时是还没有提交的。若是提交时有bug我们可以利用stash功能将其隐藏其来,等到恢复后再继续;一定要记住修复bug后要合并在删除,利用git stash pop 命令会到原点。
5.feature分支
添加一个新的功能的时候,feature就是能够控制不打乱主分支的代码的分支。当然在完成开发后,合并,最后删除该分支。其实feature分支与bug分支是类似。在未完成的时候要删除feature分支是删除不了的,只能用大写的-D参数强行删除(git branch -D <name>)。