Git是目前世界上最先进的分布式版本控制系统


            --Linus Torvalds(林纳斯·托瓦兹)


版本管理系统的作用:


1)协同开发


2)冲突解决


3)版本记录(复原)


4)历史追查


5)代码备份


6)权限管理


7)分支管理


8)代码审查


 


 


 


git status --显示列表中的文件


1)只显示上传到缓冲区的文件和处在待上传缓冲区的文件


2)已经从缓冲区上传完成的文件不会被显示出来


git add test.java


git log --显示上传上去的文件的作者、邮箱和修改上传时间


git log --pretty=oneline 一行实现


git reset --hard HEAD^ (硬)回退上一个版本(最新版本的前一个版本,在设置中,指针永远指向最顶的一行,最新的版本,且回退的版本会消失)


git reset --hrad HEAD~2 表示回退两个版本


git reflog 查看以往的历史版本(常用在回复删除的历史版本)


 


git reset --hard 31f4b1b1(版本号)--还原历史版本号的文件内容


git commit --提交缓冲区的所有文件


git commit -m "test4"


 


创建分支


git branch <分支名> --选举分支


git branch -v 查看分支结构


git checkout <分支名> 切换到某一分支


 


git merge dev 合并不同分支的文件


 


冲突:一般指同一个文件统一位置的代码,在两种版本合并时版本管理软件无法判断到底应该保留那个版本。因此会提示该文件发生冲突,需要程序员来手工判断解决冲突。


合并时冲突:程序合并时发生冲突系统会提示CONFLICT关键字,命令行后缀会进入MERGING状态,表示此时是解决冲突的状态。


 


 


 


上传本地1仓库的文件到GITHUB


git remote add origin


 


git push origin master


 


--用户名


--密码


 


下载GITHUB的文件到本地2


git clone <新的项目名>


 


git add <文件名>


 


git commit -m "create 01"


 


改作者名


 


git push origin master


 


 


再次从GITHUB上拉文件到本地库1(更新)


git pull origin master


 


协作冲突


在上传或同步代码时,由于你和他人都改了同一文件的同一位置的代码,版本管理软件无法判断究竟以谁为准,就会报告冲突,需要程序员手动解决


 


当发生冲突时,如果push不上去,就先pull更新一下,然后手动进入文件进行代码修改,然后在上传到GITHUB


 


解决办法三板斧:


1)修改合并


2)git add


3)git commit


 


 


当上传时发生冲突时:添加远程github仓库的时候提示错误:fatal: remote origin already exists.


解决办法:


1)先删除远程Git仓库


git remote rm origin


2)在进行操作


gir remote add origin


 


当上传时出现:添加远程github仓库的时候提示错误:fatal: remote origin already exists.


解决办法:


git push origin master -f 强行让本地分支覆盖远程分支


 


 


 


 


 


 


 


 


不要为了追逐,而忘记当初的样子。