您的位置:首页 > 其它

Pro Git读书笔记 - Git 常用命令

2016-05-01 01:28 351 查看

在工作目录中初始化新仓库


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



检查当前文件状态


要查看哪些文件处于什么状态,可以用
git status
命令


将工作文件修改提交到本地暂存区


通过
git add <file>
可以将文件提交到本地暂存区,如果你
git add a.txt
之后修改了
a.txt
的内容,则你需要再次
git add a.txt
,否则本地暂存区保存的是修改前的
a.txt



忽略文件


一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为 .gitignore的文件,列出要忽略的文件。

.gitignore 的格式规范如下:

所有空行或者以 # 开头的行都会被 Git 忽略

可以使用标准的 glob 模式匹配

匹配模式可以以(/)开头防止递归

匹配模式可以以(/)结尾指定目录

要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反


查看文件diff


实际上
git status
的显示比较简单,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,可以用
git diff
命令,用法如下

git diff <file>
# 比较当前文件和暂存区文件差异

git diff


git diff <$id1> <$id2>
# 比较两次提交之间的差异

git diff <branch1>..<branch2>
# 在两个分支之间比较

git diff --staged
# 比较暂存区和版本库差异

git diff --cached
# 比较暂存区和版本库差异

git diff --stat
# 仅仅比较统计信息


提交更新


git commit
之前,请一定要确认还有什么修改过的或新建的文件还没有
git add
过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用
git status
看下,是不是都已暂存起来了,然后再运行提交命令
git commit


git commit
这种方式会启动文本编辑器以便输入本次提交的说明。(默认会启用 shell 的环境变量 $EDITOR 所指定的软件,一般都是 vim 或 emacs。当然也可以按照第一章介绍的方式,使用 git config --global core.editor 命令设定你喜欢的编辑软件。)你可以是用
git commit -m "this is message"这种方式



移除文件


要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。可以用
git rm <file>
命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。如果只是想将文件从暂存区中移除但工作目录不移除可以用命令
git rm --cached <file>



修改文件名字


通过命令
git mv <file_from> <file_to>
可以对文件进行改名


查看提交历史


在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用
git log
命令查看。

git log
的其他使用方法如下

git log <file>
# 查看该文件每次提交记录

git log -p <file>
# 查看每次详细修改内容的diff

git log -p -2
# 查看最近两次详细修改内容的diff

git log --stat
# 查看提交统计信息


修改最后一次提交


有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用
git commit --amend
重新提交,如

git commit -m 'initial commit'


git add forgotten_file


git commit --amend


上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。


取消已经暂存的文件


如果有两个修改过的文件,我们想要分开提交,但不小心用 git add . 全加到了暂存区域,这时候可以用命令
git reset HEAD <file>
取消暂存


查看当前的远程库


要查看当前配置有哪些远程仓库,可以用
git remote
命令,可以加上
-v
选项(
--verbose
的简写),显示对应的克隆地址


添加远程仓库


添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行
git remote add [shortname] [url]



从远程仓库抓取数据


使用命令
git fetch [remote-name]
可以从远程仓库抓取数据到本地


推送数据到远程仓库


项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库。实现这个任务的命令很简单:
git push [remote-name] [branch-name]
。如果要把本地的 master 分支推送到 origin 服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行命令
git push origin master



查看远程仓库信息


使用命令
git remote show [remote-name]
查看某个远程仓库的详细信息


远程仓库的删除和重命名


在新版 Git 中可以用 git remote rename 命令修改某个远程仓库在本地的简称,比如想把 pb 改成 paul,可以这么运行
git remote rename pb paul


碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库,可以运行
git remote rm
命令,如
git remote rm paul



远程拉取分支代码
git fetch [remote-name] [branch-name]


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: