programing

Git pull 후 세부 정보 변경

lastmoon 2023. 9. 4. 20:34
반응형

Git pull 후 세부 정보 변경

Git 풀 후 출력은 변경량에 대한 요약을 제공합니다.

각 파일 또는 일부 파일의 세부 변경 내용을 보려면 어떻게 해야 합니까?

좋아요, 여기 제프롬이에게 질문할게요.

  1. 내가 마스터로 가고 있었는지 어떻게 알 수 있습니까?제가 한 일은 "기트풀" 뿐입니다.

  2. 마스터가 가리키는 것은 무엇이며 Git의 두 기본 헤드인 마스터와 HEAD의 차이점은 무엇입니까?

  3. 특정 파일의 세부 변경 내용을 보려면 어떻게 해야 합니까?

  4. 마지막 요약 출력의 변경 내용을 확인하려면 어떻게 합니까?git pull 또요?

  5. 사이에 무엇이 다릅니까?git diff그리고.git whatchanged?

당신이 마스터하려고 한다고 가정해 보세요.다음의 이전 위치를 참조할 수 있습니다.master타고master@{1} 짝수)master@{10.minutes.ago}다음과 같은 작업을 수행할 수 있도록 git-rev-rev-revision man 페이지의 수정사항 지정 섹션을 참조하십시오.

  • 사항 : 모든변사보기: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이제 그 두 번째 지점이고, 그리고.HEAD@{1}은 금은입니다.master당신이 원하는 것이 아닙니다!

이런 사소한 질문을 많이 하지 않으려면 Git 튜토리얼을 살펴봐야 할 것입니다.웹에는 백만 개가 있습니다. 예를 들어 다음과 같습니다.

  • 프로 깃 책
  • 깃 매직
  • 구글에서 "Git 튜토리얼"로 450만 건의 조회수를 기록했습니다.

다음과 같이 당긴다고 가정해 보겠습니다.

$ 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

내가 마스터로 가고 있었는지 어떻게 알 수 있습니까?제가 한 일은 "기트풀" 뿐입니다.

명령 자체는 다음과 같이 작동합니다.

git pull [options] [<repository> [<refspec>…]]

및 perdefault는 현재 분기를 나타냅니다.다음을 사용하여 분기를 확인할 수 있습니다.

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)

따라서 어디서부터 손을 뻗고 밀어야 할지를 확신하는 것은 매우 쉽습니다.

특정 파일의 세부 정보 변경을 확인하는 방법은 무엇입니까?

마지막 git pull에 의한 요약 출력의 변화를 다시 확인하는 방법은 무엇입니까?

가장 쉽고 우아한 방법(imo)은 다음과 같습니다.

git diff --stat master@{1}..master --dirstat=cumulative,files

마지막 풀과 현재 작업 상태 사이의 변경 사항에 대한 두 블록의 정보가 제공됩니다.예제 출력(a를 추가했습니다.---사이의 구분.--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를 사용하여 변경 사항을 확인할 수 있기 때문에 이 방법을 사용합니다. :P

그런 다음 추가 단계를 수행할 수 있습니다.git checkout .그러고 나서 하는 것git pull적절한 풀과 병합을 수행할 수 있도록 하지만 추가적인 두 단계를 처리할 수 있을 정도로 GUI의 차이점을 검사할 수 있는 기능을 중요하게 생각합니다.

언급URL : https://stackoverflow.com/questions/1362952/detail-change-after-git-pull

반응형