Git使用手册00:Git的运作流程
1.Git的几个重要区域
(1)工作区
你的IDE workspace所在的区域,用来写代码。
(2)暂存区
在工作区中修改过的文件,通过git的add命令可以提交到暂存区,这里是本地工作区和本地仓库的缓冲部分。
(3)本地仓库
当你在工作区中忙活完一阵子,把所要修改的种种文件全都提交到暂存区且确认过这些修改之后,你就可以把他们提交到自己的本地仓库了。
(4)远程仓库
本地仓库的代码可以推送到服务器上面,这样你的代码就可以和别人的共享了。
2.代码在几个区域间流转的命令
(1)clone
从别人的远程仓库拉取代码到自己的本地仓库。
(2)fetch
你从别人的远程仓库上clone下来代码后,人家又提交了一些更新到他那个远程仓库上,你可以通过fetch命令把远程仓库的更新内容合并到本地仓库上。
(3)merge
从本地仓库把代码拉到工作区
(4)pull
从远程仓库把代码直接拉到工作区,相当于fetch+merge命令的集合。
(5)add
把工作区的代码提交到暂存区。
(6)checkout / switch
切换分支,从本地仓库拉取不同的分支代码到工作区。
(7)add
把工作区的代码提交到暂存区。
(8)commit
把暂存区的代码提交到本地仓库。由于是提交到仓库了,所以一般还要带上备注信息。
(9)push
从本地仓库提交到远程仓库。另外注意,不是每一次都要按照add->commit->push这种流程去操作,可以现在本地仓库修改多次,等到最后工作完成之后,然后push一次提交到远程仓库。
(10)commit -a
add和commit的一个合并。
3.几个重要的操作
(1)Fork
把别人远程仓库里的代码复制到自己的远程仓库,也就是说把别人的上传到云端的项目变成了自己上传到云端的项目了,抄作业必备。
注意的是,Fork看似好像与clone很像,但是两种完全不同的东西:
首先,Fork本质上是一种操作,而clone是一种命令;
接着,Fork是从别人的远程仓库复制代码到自己的远程仓库,而clone是从别人的远程仓库上拉取代码到自己的本地仓库,一个是远到远,一个是远到本地。
然后,Fork完之后,相当于你自己有这个项目了,你可以修改项目里面的内容,然后推送到自己的远程仓库,你无法再推送到人家的那个远程仓库上去,但是你可以使用pull request操作,提交你认为好的修改到人家那里去,让别人去审核是否通过你这个修改。clone的代码,你修改之后,要是你是项目成员且有开发以上权限,那么你可以往这个人家的远程仓库上去提交,否则的话你也是无法提交的。