重新认识常使用的 git 命令,就像是走进一个熟习的房间,但是里面的家具被一律重新布置了一次一样。这种焕然一新的感觉和体验,可以够帮助了解后续的《git 内部原理》相关章节产生帮助。无论你是经验老道的资深开发者,还是希望理解 git 的普通爱好者,我都建议你细读本章的内容。
git status
命令允许我们查看当前工作目录的状态,但并不提供查看具体某行改动的功可以。
假如你想要知道当前工作目录相对于本地分支版本,具体哪些信息发生了变化,你能用 git diff
命令。
不增加任何参数的 git diff
命令能列举出尚未增加到暂存区的具体变更。
git diff --staged
命令。编辑 1.txt 命令,新添加 world hello 文本信息到文件中。
用 git diff --staged
命令,查看本次的修改能否会影响到暂存区?
进入下一次提交的信息,仍然只有添加文件之前的变更内容。
要从 git 中移除某个文件,你需要先从跟踪文件列表中移除,而后再进行提交操作。git rm
命令除了帮你完成这些操作以外,还会帮你把文件中工作目录中移除。
git mv
命令帮助你对文件进行移动操作。
真棒。但是 git 是如何跟踪到文件的移动或者文件名的更改的呢?实际上,git mv
命令等于连续执行以下三个命令。
mv 1.txt 2.txtgit rm 1.txtgit add 2.txt
当出现线上问题时,可以否第一时间运使用 git log
定位到产生问题的人,并迅速把 这个人给处理掉,不仅是资深开发者的必备技可以之一,更是求生意志的重要表现。
git log -p -2
参数 p 会显示出每次提交引入的差异。-2 参数表示只显示最近的两次提交记录。
在 git 中,基本上总有后悔药能吃。假如你对上一次的提交信息不满。git commit -amend
命令能帮你在不产生新的提交记录的基础上,修改上一次的提交信息。
注意,相似后悔药这样的药物总是伴随着强烈的反作用。假如你不想在药效过后成为一副被掏空灵魂的躯壳,谨慎用这个命令。
git fetch [remote-name]
命令会从远程仓库中获取所有本次仓库没有的数据。该命令并不会将数据合并到本地的工作成功中。当你需要某个最新版本的数据时,你需要手动将这些命令合并到你的本地目录中。换句话说:git fetch
从网络上获取最新的快照信息,但并不会检出最新的快照版本合并到本地。这听起来要比 git pull
麻烦少量,但是更规范也更安全。
注释标签git tag
命令帮助你对某个提交版本打上标签。
? gitExperiment git:(master) git tag -a v1.4 -m "my version 1.4"
git show v1.4
命令能查看到标签数据以及对应的提交信息。
轻量标签git tag v1.4-lw
这样的标签不包含标签信息,只有提交信息以及标签的版本号。
标签无法被检出。由于标签无法移动。你能用 ```git checkout -b [branchname] [tagname] 在特定的标签上创立一个新的分支。接着在新的分支上进行作业。
常见的 git 工作流中,常出现需要删除合并到 master 或者 dev 的分支的环节。git branch --merged
可以够让你查看哪些分支已经并入当前分支。
生活中没有平凡的事物,每一份落日都是一份礼物。坦然接受平凡的馈赠,才可以领悟深刻的人生哲学。重新认识生活,重新开始编程。认真专注于每一个细节和过程,向浮躁的社会和团队说不,你才可以走的更远。