取得项目的 Git 仓库
在工作目录中初始化新仓库
1
$ git init
从现有仓库克隆
1
$ git clone <url>
也可以自定义项目目录名称:
1
$ git clone <url> <name>
将更新记录到仓库
检查当前文件状态
1
$ git status
查看尚未暂存的文件更新了哪些部分:
1
$ git diff
加上-cached选项,查看已经暂存起来的文件和上次提交时的快照之间的差异:
1
$ git diff --cached
跟踪新文件和暂存已修改文件
1
$ git add <file>
忽略某些文件
创建.gitignore文件。.gitignore文件的例子:
1
2
3
4
5
6
7
8
9
10
11
12
13# 此为注释 – 将被 Git 忽略
# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录下所有扩展名为 txt 的文件
doc/**/*.txt提交更新
1
$ git commit -m "<message>"
加上-a选项,跳过使用暂存区域:
1
$ git commit -a -m "<message>"
移除文件
1
$ git rm <file>
加上–cached选项,移除跟踪但不删除文件:
1
$ git rm --cached <file>
移动文件(重命名)
1
$ git mv <file_from> <file_to>
查看提交历史
1 | $ git log |
参数:
1 | -p # 按补丁格式显示每个更新之间的差异。 |
撤销操作
重新提交
1
$ git commit --amend
取消已经暂存的文件
1
$ git reset HEAD <file>
取消对文件的修改
1
$ git checkout -- <file>
远程仓库
查看当前的远程仓库
1
$ git remote
加上-v选项,显示对应的克隆地址:
1
$ git remote -v
添加远程仓库
1
$ git remote add <shortname> <url>
从远程仓库抓取数据
不合并分支
1
$ git fetch <remote-name>
合并分支
1
$ git pull <remote-name>
推送数据到远程仓库
1
$ git push <remote-name> <branch-name>
查看远程仓库的信息
1
$ git remote show <remote-name>
远程仓库的删除和重命名
重命名
1
$ git remote rename <old-name> <new-name>
删除
1
$ git remote rm <remote-name>