Git-------目前世界上最先进的分布式版本控制系统(没有之一)
什么是版本控制系统?
说简单点,就是一个文件,对其增加、删除、修改都可以被记录下来,不仅自己可以修改,其他人也可以进行修改
每次对文件的改动后,包含的记录项类似:
版本--也就是文件改动的次数 改动的文件依然存在 ,类似文件的副本
用户--改动文件的人
说明---文件被改动的位置
时间---文件被修改的时间
安装Git
Windows系统 git链接:https://git-for-windows.github.io/
安装很简单,直接下一步------下一步即可完成安装
安装完成后,在开始菜单-->Git-->git bash打开命令行工具 ,弹出这样的窗口,太棒了,完成安装操作
完成安装后,需要设置用户信息
用户名 : $ git config --global user.name ‘ your name‘
邮箱 : $ git config --global user.email ‘email‘
创建版本库(repository)
mkdir leargit ----创建一个版本库,也就是一个目录,在这个目录下存放所有的文件,对所有文件的操作都会被git记录下来
cd leargit ----去往leargit这个目录下
pwd-----查看当前所在目录
初始化git仓库
$ git init ----初始化这个目录,变成git可以管理的仓库 ,这样git仓库就创建好了
查看当前目录,会发现leargit目录下,会存在一个.git目录,这个目录是用来管理跟踪版本库的
添加文件到git仓库
不要使用windowns自带的记事本白年纪你文件,建议使用Notepad++http://notepad-plus-plus.org/,功能强大
1)添加文件到库
首先回到learngit目录下 cd learngit
添加文件 $ git add readme.txt (可反复使用)
2)接着,用git commit命令告诉git,提交文件到库
$ git commit -m "write a readme.txt"
-m:后面的文字是本次提交文件的说明,可以输入任意内容,但最好是有意义的
注意:commit可以一次提交多个文件,所以add一次可以添加多个文件 eg:$ git add 1.txt 2.txt...$ git commit -m "add two files"
修改文件
修改文件玩和提交文件是一样的步骤
常用的命令
git status----查看仓库当前的状态(文件是否被修改和提交)
git diff------查看文件中被修改的位置,以及位置上对应的内容
版本回退
git log-----查看文件提交的历史记录,确定要回到哪一个版本
git reset --hard --回到上面的版本
head---表示当前版本 也就是最新的提交(必须知道才能进行返回) head^--表示上一个版本
head^^----表示上上一个版本 head~n-----返回上n个版本
git reflog---记录每一次的命令,方便用于当你回到某个版本后,再想恢复到现在的版本,就必须找到现在版本的id
即回到未来的某个版本
管理修改
如果每次修改完成后,不使用add 命令添加到暂存区,就不会被commit提交到git仓库
撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,
分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
删除文件
$ git rm 1.txt
一是确实要从版本库中删除该文件,那就用命令git rm
删掉,并且git commit
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- file
git checkout ---实际就是用版本库里的版本替换工作区的版本,无论工作区是删除的还是修改的,都可以‘一键还原’
远程仓库
由于git仓库和github仓库之间的传输是通过ssh加密的,所以需进行一下操作:
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,
如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "[email protected]" 如果一切顺利的话,可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件, 这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容:
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub, 就可以在每台电脑上往GitHub推送了添加远程库
要关联一个远程库,使用命令git remote add origin [email protected]:path/repo-name.git
;
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;
克隆远程库
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone
命令克隆。