1、 首次运行git前的配置命令
1)、$ git config --global user.name "John Doe"
2)、$ git config --global user.email
johndoe@example.com
3)、设置默认文本编译器:
$ git config --global core.editor sublime
2、 查看所有的配置信息:
$ git config --list
3、 获得帮助
$ git help <verb>
比如通过命令
$ git help config
了解
config
命令的使用方法
4、 在工作目录中初始化新仓库
1)、如果想要对某个项目使用git进行管理,只需在该项目的目录下执行:
$ git init
2)、如果当前目录下有几个目录想要纳入版本控制,就需要使用git add命令
比如:$ git add README
5、 从现有的仓库clone
1)
、
$ git clone git://github.com/schacon/grit.git
2
)自定义项目的名称:
$ git clone git://github.com/schacon/grit.git mygrit
6、 检查当前文件的状态
$ git status
7、 跟踪一个新文件需要执行两条命令:
1)
、添加新文件$ git add README
2)
、跟踪文件
$ git status
8、 暂存已经修改的文件
例如已经对benchmarks.rb进行了修改就可以使用以下命令将本次更新放入暂存区:
$ git add benchmarks.rb
9、 忽略某些文件,一般总会有些文件不需要纳入Git管理,也不希望他们总是出现在未跟踪的文件列表,通常这些文件都是自动生成的文件。我们可以创建一个名为.gitignore的文件,列出要忽略的文件模式:
$ cat .gitignore
*.[oa]
*~
第一行告诉 Git 忽略所有以.o
或.a
结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的,我们用不着跟踪它们的版本。第二行告诉 Git 忽略所有以波浪符(~
)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。
10、 查看已经暂存和未暂存的更新
$ git diff
此命令会告诉我们:那些更新还没有暂存,那些更新以极高暂存起来准备下次
若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以使用以下命令:
$ git diff --cached
11、 提交更新
$ git commit
$ git commit -m "Story 182: Fix benchmarks for speed"
(
-m
参数后跟提交说明的方式)
12、 跳过使用暂存区域
$ git commit -a -m 'added new benchmarks'
给
git commit
加上
-a
选项
git
就会自动把所有已经跟踪过得文件暂存起来一并提交,从而跳过
git add
命令
13、 移除文件
要从git中移除某个文件,就必须要从已经跟踪文件清单中移除(从暂存区域中移除),然后提交
$ rm grit.gemspec
$ git rm grit.gemspec
要移除跟踪,但不删除
$ git rm --cached readme.txt
此命令删除所有 log/
目录下扩展名为 .log
的文件
$ git rm log/\*.log
递归删除当前目录及其子目录中所有 ~
结尾的文件
$ git rm \*~
14、 移动文件
$ git mv file_from file_to
15、 查看提交历史
$ git log
常用 -p
选项展开显示每次提交的内容差异,用 -2
则仅显示最近的两次更新:
$ git log -p -2
--stat
,仅显示简要的增改行数统计:
$ git log --stat
$ git log --pretty=oneline
$ git log --pretty=format:"%h - %an, %ar : %s"
选项 说明
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明
16、 限制输出长度
$ git log --since=2.weeks
选项
说明
-(n)
仅显示最近的
n
条提交
--since, --after
仅显示指定时间之后的提交。
--until, --before
仅显示指定时间之前的提交。
--author
仅显示指定作者相关的提交。
--committer
仅显示指定提交者相关的提交。
17、 使用图形化工具查阅提交历史
$ gitk
18、 撤销操作
1)、$ git commit –amend
(此命令将使用当前暂存区域快照提交)
2)、如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行–amend提交
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit –amend
3)、取消已经暂存的文件
$ git reset HEAD benchmarks.rb
4)、取消对文件的修改
$ git checkout -- benchmarks.rb
此命令使用有些危险,所有对文件的修改都没有了,因为我们刚刚把之前版本的文件复制过来重写了此文件,所有在使用此命令之前,请务必确认真的不再需要保存刚才的修改
19、 查看当前远程库
$ git remote –v
$ git remote
20、 添加远程仓库
$ git fetch pb
(
pb
代表对应的仓库地址)
21、 从远程仓库抓取数据
$ git fetch [remote-name]
此命令会到远程仓库中拉取所有你本地仓库中没有的数据
22、 推送数据到远程仓库
git push [remote-name] [branch-name]
如果要把本地的 master 分支推送到 origin
服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行下面的命令:
$ git push origin master
23、 查看远程仓库信息
$ git remote show origin
改命令查看
origin
仓库信息
24、 远程仓库的删除和重命名
$ git remote rm paul
$ git remote