假设你正在掌握.你可以参考以前的位置master
由master@{1}
(或者甚至master@{10.minutes.ago}
,看到的指定修订部分的git-REV-解析手册页),这样就可以做这样的事情
查看所有更改: git diff master@{1} master
查看给定文件的更改: git diff master@{1} master
查看给定目录中的所有更改: git diff master@{1} master
再次查看更改摘要: git diff --stat master@{1} master
关于"我怎么知道自己是否掌握"的问题......好吧,使用分支机构是Git工作流程的重要组成部分.您应该始终了解您所在的分支 - 如果您进行了更改,则需要将它们拉到正确的分支!您可以使用该命令查看所有分支的列表,当前已检出的分支带有星号git branch
.当前分支名称也与输出一起打印git status
.我强烈建议略读命令的手册页 - 这是慢慢学习一些知识的好方法.
而你的最后一个问题HEAD
是:当前签出的分支的名称.您可以确属自用的HEAD
,并HEAD@{1}
在这方面为好,但它更健壮一点用树枝,因为如果你去看看另一个分支.HEAD
现在是第二个分支,HEAD@{1}
现在master
- 不是你想要的!
为了节省不得不提出这样的很多小问题,你应该看一下Git教程.网上有一百万,例如:
在临Git的书
Git Magic
以及谷歌"Git教程"的450万次点击
假设你像这样做一个git pull:
$ git pull remote: Counting objects: 10, done. remote: Compressing objects: 100% (6/6), done. remote: Total 6 (delta 4), reused 0 (delta 0) Unpacking objects: 100% (6/6), done. From git@dev.example.com:reponame a407564..9f52bed branchname -> origin/branchname Updating a407564..9f52bed Fast forward .../folder/filename | 209 ++++++++----- .../folder2/filename2 | 120 +++++++++++--------- 2 files changed, 210 insertions(+), 119 deletions(-)
您可以通过使用修订号看到更改的差异:
$ git diff a407564..9f52bed
1.我如何知道自己是否想要掌握?我所做的只是"git pull".
命令本身的工作原理如下:
git pull [options] [[ …]]
默认情况下是指当前分支.您可以使用检查您的分支机构
git branch -a
这将列出您的本地和远程分支,例如如此(---
在本地和远程之间添加分隔符以使其更清晰)
*master foo bar baz --- origin/HEAD -> origin/master origin/deploy origin/foo origin/master origin/bar remote2/foo remote2/baz
当你看一个远程仓库时,你会看到你所指的是:
git remote show origin
将列出如下:
* remote origin Fetch URL: ssh://git@git.example.com:12345/username/somerepo.git Push URL: ssh://git@git.example.com:12345/username/somerepo.git HEAD branch: master Remote branches: foo tracked master tracked Local refs configured for 'git push': foo pushes to foo (up to date) master pushes to master (fast-forwardable)
所以很容易确定从哪里开始推进.
3.如何查看特定文件中的详细信息更改?
4.如何通过最后一次git pull再次看到摘要输出的变化?
最简单,最优雅的方式(imo)是:
git diff --stat master@{1}..master --dirstat=cumulative,files
这将为您提供两个关于您上次拉动当前工作状态之间的变化的信息块.示例输出(我添加了一个---
分隔符--stat
和--dirstat
输出之间以使其更清晰):
mu-plugins/media_att_count.php | 0 mu-plugins/phpinfo.php | 0 mu-plugins/template_debug.php | 0 themes/dev/archive.php | 0 themes/dev/category.php | 42 ++++++++++++++++++ .../page_templates/foo_template.php | 0 themes/dev/style.css | 0 themes/dev/tag.php | 44 +++++++++++++++++++ themes/dev/taxonomy-post_format.php | 41 +++++++++++++++++ themes/dev/template_parts/bar_template.php | 0 themes/someproject/template_wrappers/loop_foo.php | 51 ++++++++++++++++++++++ --- 11 files changed, 178 insertions(+) 71.3% themes/dev/ 28.6% themes/someproject/template_wrappers/ 100.0% themes/ 27.2% mu-plugins/ 9.0% themes/dev/page_templates/ 9.0% themes/dev/template_parts/ 63.6% themes/dev/ 9.0% themes/someproject/template_wrappers/ 72.7% themes/