Gitプルの後、その出力は変更量の要約を提供します。
各ファイルまたは一部の詳細な変更を確認するにはどうすればよいですか?
さて、ここからジェフロミへの私の質問です。
マスターに引き寄せられたかどうかはどうすればわかりますか?私がやったのは「git pull」だけです。
Masterは何を指し、masterとGitの2つのデフォルトヘッドであるHEADの違いは何ですか?
特定のファイルの詳細な変更を確認するにはどうすればよいですか?
最後のgit pull
によるサマリー出力の変更を再度確認するにはどうすればよいですか?
git diff
とgit whatchanged
の違いは何ですか?
マスターに引き寄せているとします。 master@{1}
でmaster
の前の位置を参照できます(またはmaster@{10.minutes.ago}
;; git-rev-parse man page のリビジョンの指定セクションを参照してください) )、次のようなことができるように
すべての変更を見る:git diff master@{1} master
指定されたファイルへの変更を確認します:git diff master@{1} master <file>
特定のディレクトリ内のすべての変更を表示します:git diff master@{1} master <dir>
変更の概要をもう一度参照してください:git diff --stat master@{1} master
「自分がマスターかどうかをどうやって知るのか」という質問については、ブランチを使用することはGitワークフローの重要な部分です。自分がどのブランチにいるかを常に認識しておく必要があります。変更をプルした場合は、それらを正しいブランチにプルする必要があります。コマンドgit branch
を使用すると、現在チェックアウトされているブランチにアスタリスクが付いたすべてのブランチのリストを表示できます。現在のブランチ名も、git status
の出力とともに出力されます。使用するコマンドのマニュアルページをざっと読むことを強くお勧めします。これは、少し知識を習得するのに最適な方法です。
最後の質問:HEAD
は、現在チェックアウトされているブランチの名前です。このコンテキストでもHEAD
とHEAD@{1}
を実際に使用できますが、別のブランチをチェックアウトする場合、ブランチを使用する方が少し堅牢です。 HEAD
が2番目のブランチになり、HEAD@{1}
がmaster
になりました-あなたが望むものではありません!
このような小さな質問をたくさんする必要がないようにするには、Gitチュートリアルをご覧ください。 Webには数百万があります。たとえば:
次のような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 [email protected]: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] [<repository> [<refspec>…]]
デフォルトでは、現在のブランチを参照します。を使用してブランチを確認できます
git branch -a
これにより、ローカルブランチとリモートブランチがリストされます(例:---
をローカルとリモートの区切りとして追加し、より明確にします)
*master
foo
bar
baz
---
Origin/HEAD -> Origin/master
Origin/deploy
Origin/foo
Origin/master
Origin/bar
remote2/foo
remote2/baz
次に、1つのリモートリポジトリを見ると、参照しているものが表示されます。
git remote show Origin
次のようにリストされます。
* remote Origin
Fetch URL: ssh://[email protected]:12345/username/somerepo.git
Push URL: ssh://[email protected]: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)
したがって、どこからプルしてプッシュするかを確認するのは非常に簡単です。
。特定のファイルの詳細な変更を確認する方法
4。最後のgit pullによるサマリー出力の変更を再度確認する方法
最も簡単で最もエレガントな方法(imo):
git diff --stat master@{1}..master --dirstat=cumulative,files
これにより、最後のプルと現在の作業状態の間の変更に関する2ブロックの情報が得られます。出力例(---
と--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/
この方法は一種のハッキングですが、gitk
またはgitg
またはgit-gui
などのグラフィカルツールを使用できます。
git pull
git reset HEAD@{1}
gitg (or gitk or whatever tool you like)
ほとんどの賛成票の答えはgitツールを使用する最良の方法を提供しますが、GUIでツールを使用して変更を確認できるため、この方法を使用します。
その後、git checkout .
を実行してからgit pull
を実行するという追加のステップがあり、適切にプルしてマージします。 2つのステップ。