一,先附上几个别人写的比较好的。
二,集中式版本控制系统和分布式版本控制系统
CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式的版本控制系统是文件都放在中央服务器,当用户需要修改文件的时候就需要先将文件从中央服务器check out到本地,修改完文件中再commit到中央服务器,这样的缺点是需要网络,分布式版本控制系统没有中央服务器的概念,每个人自己电脑都维护一个版本。不同的用户如何协调工作的了?
三,安装git
windows平台在如下网址下载git for windows
四,基本使用
1,创建repository
(1)创建一个空目录,将该目标变为git可以管理的目录,比如/e/test/目录,进入到该目录下使用git init命令,这样该目录就变为git可以管理的仓库了。
2,添加相应的文件到repository
(1)在/e/test/目录下创建相应的文本文件,,比如文件名为test.txt,然后使用 git add test.txt 命令将该文件加进repository,再使用 git commit -m “test for git”命令提交,-m后是本次提交的说明,方便以后查看。
3,修改某一个文件
(1)比如我现在修改了test.txt文件,然后使用git add test.txt命令添加,再使用git commit -m “second time fix”这样就将修改提交了,要查看两次修改的变化,使用git diff test.txt命令。
4,版本回退
(1)git log命令可以查看该repository的历史提交记录,每次提交都有一个commit id,如果要回退到某一个版本,要git reset --hard “commit id“即可,git reflog命令可以记录历史每一个命令。
5,工作区和暂存区
(1)需要提交的工作区的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
6,撤销修改
(1)场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
(2)场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
7,删除文件
(1)直接使用文件管理器将需要删除的文件删除,但是此时只是将工作区文件删除,版本库里还保留着文件,要将版本库里的文件删除,应该使用git rm test.txt文件删除,然后使用git commit -m “remove”命令提交。如果此时工作区的文件已经删除,但是是误删,想将版本库里的文件同步到工作区里,应该使用git checkout -- test.txt命令。
8,远程仓库
(1)GitHub网站是提供Git托管服务的,当注册完GitHub网站后,第一步先创建SSH Key,现在本地shell下使用ssh-keygen -t rsa -C eydayu@163.com
此时在本地就多了一个.ssh目录,将该目录下的id_rsa.pub文件里的内容复制粘贴到GitHub网站“Account settings”,“SSH Keys”页面。
(2)添加远程库,先使用如下命令git remote add origin git@github,com:eydayu/gittest.git命令将本地仓库和远程仓库关联,其中origin表示的是远程库,然后用git push -u origin master命令就可以将本地仓库推送到远程库上,以后只要本地仓库有修改只要通过git push origin master命令就可以将本地修改同步到远程库上。
注:使用git push可能会出现failed to push some refs的错误,这个时候用git pull origin master命令然后再用git push origin master命令。
五,不错的开源项目
gdb-thread-names