前几天看到一个公众号说是git很火,比SVN,CVS的什么的都强爆了,git支持布式,听着就很高大尚的感觉。今天有空研究了一下,写出此博。
git下载,安装什么的我都不多说。开始正题。
首先要有一个github账号,在本地安装git客户端。 准备工作做完。
下面就是模似场景:
在本地git里面增加一个文件readme.txt,编辑内容(内容随便写如:中国你好,哈哈),使用命令push到github.
假如你本地 branch 为 master (可以通过 git branch -av查看本地和远程branch名字),远程branch 就是创建repository的名字如:(androidFragment)
1. git add readme.txt(把文件添加到git cache)
2. git commit (提交)
3. git push androidFragment master(这句命令格式为 git push 远程分支名字 本地分支名字)
现在可以看到在github上面看到有一个readme.txt文件。现在开始在本地编辑文件readme.txt(内容随便写如:这是一个readme.txt文件,用于描述项目内容);
同时,在github网站上面也编辑readme.txt,内容改下就好(如:中国你好,哈哈,hello).
到此,场景已经模似出来了。
现在在执行上面的1,2,3 步骤,就会push不上去了。如图:
说的意思是,push到github的远程访问被拒了,push失败,因为远程包含了你所做的工作(就是远程也做过更新)。
按照SVN,CVS的用法就从远程更新本地的文件,操作:git pull 远程 branch 本地branch ,查看本地文件没远程的内容,没有成功;使用了git merge 远程branch好像也没成功(这步应该是不用试的,肯定不行)。
就在 git pull 远程branch名字 本地branch名字 时,提示有一个什么rebase命令,git pull --rebase 远程branch名字 本地branch名字。如图:
远程更新文件内容到本地成功。
但是,有几个问题又出现了
1.执行成上步后,文件内容出现<<<============
========>>>这样的内容,那就只能手动修改文件了,在git bash 中使用vi readme.txt编辑。改好后,wq.此问比较小,修改内容等待git push。
2. 使用了git pull --rebase 远程branch名字 本地branch名字后,master 名字改了。如图:
看到这个不一样,也没太注意。可是当我git push androidFragment master 时,还是执行完1,2,3步后,那个还是拒绝。
于是看一下,如图:
也就释然了(红框包容内容)。执行了一下git rebase --continue提示如图:
还是搞不定。于是我就执行了,git rebase --skip ,执行后,没有提示内容,但是(master|rebase1/1)没有了。
如图:
说明可以git push了,然后我就执行1,2,3步骤,提示成功。
再去github网页上面刷新,看到文件已经提交,内容是本地的内容,问题解决。
希望对其它人有所帮助。
有什么不对的,批评指出。