git安装
下载地址:git请点击此处
公司gitlab地址:gitlab库地址
常用命令
用户信息配置
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
指定差异分析工具
还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:
$ git config --global merge.tool vimdiff
- 查看配置信息
$ git config --list
获取git的帮助信息
获取帮助信息就是在下面命令后面跟具体要查看的命令,如add
$ git help
在工作目录中初始化新仓库
要对现有的某个项目开始用Git管理,只需到此项目所在的目录,执行
$ git init
执行完这一个命令,只是初始化了Git库,并没有开始对文件进行监控,如果需要将文件纳入到版本控制中,需要先用git add命令告诉Git开始对这些文件进行跟踪,然后提交:
$ git add *.c $ git add README $ git commit -m 'initial project version'
从现有仓库克隆
直接使用克隆命令,将远程服务器上的库中所有数据(包括每个文件的每个版本)克隆到本地数据库。采用
git clone [url]
的格式,如:$ git clone git://github.com/schacon/grit.git
以上会生成一个名为grit的目录,如果想在克隆的时候自己指定目录的名称,则可以如下:
$ git clone git://github.com/schacon/grit.git mygrit
跟踪新文件、放入缓存区
$ git add [filename]
add是一个比较智能的命令,它会根据文件的不同状态进行不同的操作,可以用来使Git跟踪新文件,可以将修改文件放入暂存区,可以用于标记冲突已解决。
忽略某些文件
对于一些不想纳入到Git管理的文件,也不希望它们出现在未跟踪列表中。可以创建
.gitignore
文件,在文件中列出忽略的文件模式。例如下面的文件:$ cat .gitignore *.[oa] *~
文件
.gitignore
的格式规范如下:- 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
- 可以使用标准的 glob 模式匹配。
- 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
- 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
查看当前文件与暂存区域快照之间的差异
$ git diff
查看暂存区域与上一个版本的差异
$ git diff --staged (Git 1.6.1及更高版本) 或者 $ git diff --cached
提交更新
在提交之前,先查看文件的状态,以防有遗漏的文件没有执行add命令放入暂存区域中,没有放入暂存区域中的文件是无法被提交的
$ git commit
执行该命令后会弹出文本编辑器用来输入本次更新的提交说明信息,如果不想采用这样的方式也可以使用
-m
命令直接在命令行输入注释信息。$ git commit -m "Commit Message"
跳过使用暂存区域
虽然使用add存入暂存区域的方式使得更精细的控制整个文件的提交过程,但是这个过程太过繁琐了些,可以使用
git commit -a
选项,将所有修改统一提交到暂存区域并提交。移除文件
如果想从Git中移除某个文件,可以使用如下命令
git rm [filename]
这个命令会将filename文件从暂存区域、跟踪名单以及文件系统中彻底删除。 如果删除文件之前,修改过该文件并已经存储到了暂存区域,则需要加上强制删除命令
-f
来删除文件。 还有一种情况是,如果只是想在跟踪列表中删除,而不想在文件系统中删除文件,则可以执行如下命令(同时记得在.gitignore
文件中设置该文件的过滤):$ git rm --cached [filename]
移动文件 执行如下命令:
git mv [file_from] [file_to]