1、配置信息(初次运行 Git 前的配置)
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
存储位置:~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。
2、文本编辑器
git config --global core.editor emacs
3、差异分析工具(在解决合并冲突时使用哪种差异分析工具)
git config --global merge.tool vimdiff
4、查看配置信息(有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。)
git config --list
5、查阅某个环境变量的设定
git config user.name
6、获取帮助
git help <verb>
示例:要学习 config 命令可以怎么用,运行:git help config
7、在工作目录中初始化新仓库
git init
8、在工作目录中初始化新仓库,如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:
git add *.c
git add README
git commit -m 'initial project version'
9、从现有仓库克隆
git clone git://github.com/schacon/grit.git
10、如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
git clone git://github.com/schacon/grit.git mygrit
11、检查当前文件状态
git status
12、跟踪新文件(单个文件),例如:README 文件
git add README
13、暂存已修改文件,例如:README 文件。 git add 命令(这是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等)
git add README
14、忽略某些文件
创建一个名为 .gitignore 的文件,列出要忽略的文件模式。来看一个实际的例子:
cat .gitignore
*.[oa]
*~
第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本。第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。
文件 .gitignore 的格式规范如下:
所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配。
匹配模式最后跟反斜杠(/)说明要忽略的是目录。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)
15、.gitignore 文件的例子
# 此为注释 – 将被 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
16、查看已暂存和未暂存的更新
git diff
17、看已经暂存起来的文件和上次提交时的快照之间的差异
git diff --cached
18、提交更新
git commit
另外也可以用 -m 参数后跟提交说明的方式
git commit -m "Story 182: Fix benchmarks for speed"
19、跳过使用暂存区域(Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤)
git commit -a -m 'added new benchmarks'
20、移除文件
rm 【文件】
git rm 【文件】
21、移动文件
git mv file_from file_to
22、查看提交历史
git log
git log -p -2 常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
23、修改最后一次提交
git commit --amend
24、取消已经暂存的文件
git reset HEAD <file>
25、取消对文件的修改(这条命令有些危险)
git checkout -- benchmarks.rb
26、查看当前的远程库
git remote
git remote -v 显示对应的克隆地址
27、添加远程仓库
git remote add [shortname] [url]:
28、从远程仓库抓取数据
git fetch [remote-name]
29、推送数据到远程仓库
git push origin master
30、查看远程仓库信息
git remote show [remote-name]
31、远程仓库的删除和重命名
git remote rename name newName
32、列显已有的标签
git tag
33、新建标签
git tag -a v1.4 -m 'my version 1.4'
34、签署标签
git tag -s v1.5 -m 'my signed 1.5 tag'
35、轻量级标签
git tag v1.4-lw
36、验证标签
git tag -v v1.4.2.1
37、后期加注标签
git log --pretty=oneline
38、分享标签
git push origin v1.5
39、标签到远端仓库。其命令格式如同推送分支
git push origin [tagname]
要一次推送所有本地新增的标签上去
git push origin --tags
40、创建一个新的分支
git branch name
41、切换分支
git checkout name
42、分支的新建与切换
(1)新建并切换至此分支
git checkout -b iss53
(2)切换分支
git checkout master
43、合并分支
git merge name
44、删除分支
git branch -d name
45、遇到冲突时的分支合并
可使用git status 查看冲突,需手动解决冲突文件,并进行git add 更新操作,然后使用git commit -m ''
46、查看分支(* 表示当前分支)
git branch
47、查看各个分支最后一个提交对象的信息
git branch -v
48、获取当前分支的直接上游分支
git branch --merged
49、查看还未合并进来的分支
git branch --no-merged
50、删除远程分支
git push [远程名] :[分支名]
git push origin :serverfix
网友评论