1、git和svn的比较
svn是集中化的版本控制系统,特点是非常的简单,只需要一个放代码的地方即可,如果是在断网的前提下是不可用的。
git是分布式的版本控制系统,git不依赖与网络可以做任何事情,当你恢复网络以后,重新向远程服务器一次性提交即可,非常方便。git对分支和合并有非常好的支持。
2、安装git
下载地址:http://git-scm.com/download/win
3、初次运行git前的配置
(1)、配置
全局配置
git config --global user.name "John Doe"
git config --global user.email [email protected]
单个配置
git config user.name "John Doe"
git config user.email [email protected]
(2)、检查配置信息
git config --list
4、获取帮助
git help <verb>
例如:
git help <verb>
5、获取git仓库(初始化仓库)
git init
对文件进行跟踪以及进行提交
git add *.c
git add LICENSE
git commit -m 'initial project version'
6、克隆仓库
git clone https://github.com/libgit2/libgit2
7、检查文件的状态
git status
8、跟踪文件
git add .
或者
git add 文件名
9、查看修改
(1)、尚未暂存的文件更新了哪些内容
git diff
(2)、已暂存的将要添加到下次提交里的内容
git diff --cached
10、提交更新
(1)、启动文本编辑器的方式
git commit
(2)、提交信息与命令在同一行
git commit -m "Story 182: Fix benchmarks for speed"
11、删除文件
删除某个文件需要先删除本地文件,然后再删除缓存区的文件
git rm PROJECTS.md
删除缓存区的文件,仍然保留当前工作目录
git rm --cached README
12、查看历史
(1)、查看提交历史
git log
(2)、显示最近的提交记录
-p,用来显示每次提交的内容差异,-2 来仅显示最近两次提交
git log -p -2
(3)、查看简略的统计信息
git log --stat
(4)、将每个提交放在一行
git log --pretty=oneline
13、修改提交历史
git commit --amend
如果忘记了暂存某些需要的修改,可以通过以下命令:
git commit -m 'initial commit'
git add forgotten_file
git commit --amend
14、取消暂存
如过你已经修改了两个文件并且想要将它们作为两次独立的修改提交,但是却意外地输入了 git add * 暂存了它们两个。 如何只取消暂存两个中的一个呢
扫描二维码关注公众号,回复:
5436364 查看本文章
git reset HEAD CONTRIBUTING.md
15、撤销修改(还原成上一次提交的样子)
git checkout -- CONTRIBUTING.md
16、查看远程仓库
git remote -v
17、添加远程仓库
git remote add pb https://github.com/paulboone/ticgit
18、从远程仓库当中抓取与拉取数据
git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作
git fetch
git merge命令用来合并版本,一般情况下先git fetch以后然后再git pull
git merge
git pull命令是git fetch命令和git merge命令的合二为一,先拉取数据然后再合并数据
git pull
19、推送到远程仓库
git push origin master
20、远程仓库重命名
git remote rm paul
21、打标签
Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated)
(1)、创建附注标签
运行 tag 命令时指定 -a 选项
git tag -a v1.4 -m 'my version 1.4'
(2)、创建轻量标签
git tag v1.4-lw
(3)、显示标签的提交信息
git show v1.4
(4)、列出标签
git tag