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]
相关文章推荐
- 使用"方法调配技术"调试"黑盒方法"<runtime>
- Mac下MyEclipse2015安装JBoss7,MySQL,EJB开发
- js正则表达式语法
- zlib学习小结
- python queue 的put的暂停当前线程 国内大部分技术文章翻译都翻译错的
- IOS推送服务端PHP简要记述
- $Java设计模式之——观察者模式(Observer)
- 1.简单集群
- Linux文件系统
- POJ 1971 Parallelogram Counting
- 快速粘贴与自动填表软件V1.0 注册版
- 浅析JAVA_HOME,CLASSPATH和PATH的作用
- Adam学习14之Fasta在Adam中的初始存储格式NucleotideContigFragment
- 12. 开启 mysql remote access
- 消除li img 中间的空隙
- 【代码笔记】Java连连看项目的实现(2)——JTable 、TableModel的使用
- 20145122《Java程序设计》第九周学习总结
- Yarn源码分析之MRAppMaster上MapReduce作业处理总流程(一)
- JAVAMAIL SSL 和 NO-SSL 发送邮件
- 选项卡