您的位置:首页 > 其它

GIT 版本控制命令学习

2013-07-18 19:48 453 查看

一 基本命令

1.$ git init

要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:

2.$ git status

检查当前文件状态

3.git add命令

功能1:可以用它开始跟踪新文件

功能2:或者把已跟踪的文件放到暂存区

功能3:还能用于合并时把有冲突的文件标记为已解决状态等

4.$ cat .gitignore(文件内定义规则)

忽略某些文件

我们再看一个 .gitignore 文件的例子:

# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt


5.git diff 查看当前工作目录和暂存区域的文件差异

git diff --cached 查看当前暂存区域和上一次提交的文件差异

6.git commit 提交暂存区域文件到版本库

git commit -a 跳过暂存区域,直接将以跟踪的文件变化提交

7.git rm 移除版本库中的跟踪列表,同时删除目录文件

git rm -f 强制删除,功能同上

git rm --cached 在跟踪列表中删除文件,目录中保留

$ git rm log/\*.log

注意到星号*之前的反斜杠 \,因为 Git 有它自己的文件模式扩展匹配方式,所以我们不用 shell 来帮
忙展开(译注:实际上不加反斜杠也可以运行,只不过按照 shell 扩展的话,仅仅删除指定目录下的文件而不会递归匹配。上面的例子本来就指定了目录,所以效果等同,但下面的例子就会用递归方式匹配,所以必须加反斜杠。)。此命令删除所有log/目录下扩展名为.log的文件


8.$ git mv file_from file_to

它会恰如预期般正常工作。实际上,即便此时查看状态信息,也会明白无误地看到关于重命名操作的说明:

$ git mv README.txt README
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes to be committed:
#
(use "git reset HEAD <file>..." to unstage)
#
#
renamed:
README.txt -> README
#

其实,运行

git mv

就相当于运行了下面三条命令:

$ mv README.txt README
$ git rm README.txt
$ git add README


9.git log 查看记录

git log -p -2 查看最近2次的记录(-p 展开内容差异 -2 两次更新)
git log --stat 显示统计数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: