1、基本介绍:
git:分布式版本控制系统
SVN:集中式版本控制系统
2、创建版本库:
$ mkdir learngit
$ cd learngit
$ pwd //用于显示当前目录
/Users/michael/learngit
通过git init把这个目录变成Git可以管理的仓库
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
3、将文件readme.txt放到库中
$git add readme.text
$git commit -m “wrote a readme file” //m后面的是本次提交的说明
commit可以一次提交多个文件
运行git status,可以时刻掌握当前仓库的状态
调用git diff readme.txt命令,查看修改内容的具体情况
4、版本回退
git log命令查看每个版本都修改了什么地方
回退到上一版本:
$ git reset --hard HEAD^
如果回退后后悔了,调$git reflog进行恢复
5、工作区和版本库,版本库里有一个分支master
git add指令把文件添加到暂存区;git commit把文件提交到当前分支master
6、管理修改
git跟踪并管理的是修改,而非文件。
每次修改,如果不add到暂存区,那就不会加入到commit中
撤消修改的三种情况:
(1)当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
(2)当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就会到了场景1,再按场景2操作
(3)已经提交了不合适的修改到版本库时,想要撤销背刺提交,采用之前说的版本回退的方法。(前提是没有推送到远程库)
7、删除文件:$git rm test.txt
取消删除:$git checkout -- test.txt
8、远程仓库
注册GitHub账号,可以免费获得Git远程仓库
关联:$git remote add origin git@github.com:yourname/learngit.git
将本地库的所有内容推送到远程库:$git push -u origin master
只要本地作了提交,就可以通过$git push origin master将本地master分支的最新修改推送到GitHub
从远程仓库克隆
$git clone git@github.com:yourname/gitskills.git
9、分支切换:$git checkout -b dev
查看当前分支:$git branch(列出所有分支,当前分支前面标一个*)
合并指定分支到当前分支:$ git merge dev
分支操作总结:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name