programing

git에서 푸시하려는 내용을 보려면 어떻게 해야 합니까?

muds 2023. 4. 21. 21:31
반응형

git에서 푸시하려는 내용을 보려면 어떻게 해야 합니까?

만약 내가 그 일을 한다면 어떤 일이 일어날지 알 수 있는 방법이 있을까?git push명령어?

제가 상상하는 것은 Github의 "pull request" 기능의 "Files Changed" 탭과 비슷합니다.풀 요청을 발행할 때 풀 요청을 수락할 경우 무엇을 가져올지 확인할 수 있습니다.집약 변경의 기트허브 예시

명령줄은 문제 없습니다만, GUI(위 스크린샷 등)를 사용하고 싶습니다.

푸시할 파일 목록을 보려면 다음을 수행합니다.

git diff --stat --cached [remote/branch]

예:

git diff --stat --cached origin/master

푸시되는 파일의 코드 diff에 대해서는, 다음의 순서를 실행합니다.

git diff [remote repo/branch]

변경할 파일의 전체 파일 경로를 보려면 다음을 수행합니다.

git diff --numstat [remote repo/branch]

GUI에서 이러한 차이를 보려면 git을 설정해야 합니다.시각적 차이 프로그램에서 'git diff' 출력을 보는 방법을 참조하십시오.

항상 시운전이 있습니다.

git push --dry-run

실제 데이터 전송을 제외한 모든 작업을 수행합니다.

보다 그래픽으로 표시할 수 있는 옵션이 많이 있습니다.

Git과 함께 제공되는 Tig 및 gitk 스크립트는 모두 로컬 복사본의 현재 분기와 원격 또는 원본 분기를 표시합니다.

alt 텍스트

따라서 오리진 이후에 이루어지는 모든 커밋은 푸시되는 커밋입니다.

푸시할 분기에 있는 동안 셸에서 gitk를 열어서 입력gitk&리모트상의 내용과 리모트에 푸시 하는 내용의 차이를 확인하려면 , 로컬에서 푸시 되지 않은 커밋을 선택하고, 리모트상에서 오른쪽 클릭해, 「Diff this - > selected」를 선택합니다.alt 텍스트

푸시 대기 중인 커밋을 간단히 나열하면 다음과 같습니다(기억할 수 있는 커밋입니다).

git cherry -v

SHA1 옆에 커밋 제목을 표시합니다.

당신은 아마 달리고 싶을 것이다.git difftool origin/master...현재 브랜치 상에 있는 것과 아직 오리진/마스터 브랜치 상에 없는 것의 통합 차이를 표시하여 원하는 그래픽 diff 툴로 표시합니다.최신 정보를 얻으려면git fetch첫번째.

해라git diff origin/master..master(단,origin/master업스트림입니다).와는 달리git push --dry-run업스트림에 대한 쓰기 권한이 없는 경우에도 이 기능은 계속 작동합니다.

리모트 레포에 푸시하기 전에 로컬 버전을 비교하는 한 가지 방법(일종의 push in dry-run):

TortoiseGit 사용:
root 폴더 프로젝트> TortoiseGit > 이전 버전과의 차이를 오른쪽 클릭합니다.
[2]를 선택합니다.refs/remotes/origin/master

  1. 원격에 대한 쓰기 권한이 있는 경우
git push --dry-run
  1. 원격에 대한 쓰기 권한이 없는 경우
git diff --stat HEAD remote/branch

커밋은 다음 기준으로 나열할 수 있습니다.

git cherry -v

다음으로 ^의 수가 커밋의 수와 같은 다음 명령어와 비교합니다(이 예에서는 2개의 커밋).

git diff HEAD^^

git gui실제 커밋에서 변경된 사항 목록을 볼 수 있습니다. 이 경우에도 하실 수 있습니다.gitkwich는 재로그를 위한 간단한 인터페이스를 제공합니다.만 하면 .remotes/... ★★★★★★★★★★★★★★★★★」master이데올로기 때문에스크린샷과 유사한 인터페이스를 제공합니다.

두 프로그램 모두 git에 포함되어 있습니다.

변경된 파일 및 실제 코드 변경 내용을 보려면master다음 중 하나:

git diff --stat --patch origin master

메모: Intelij IDE 중 하나를 사용하는 경우 최상위 프로젝트를 오른쪽 클릭하여 [Git]> [ Compare with branch ]를 선택하고 원하는 원점을 선택합니다. origin/master표시되는 파일 트리에서 파일을 더블 클릭하여 시각적인 차이를 확인할 수 있습니다.위의 명령줄 옵션과 달리 diff 창에서 로컬 버전을 편집할 수 있습니다.

★★★ git commit -m "{your commit message}"푸시 전에 커밋해시를 얻을 수 있습니다.이제 뭘로 밀고 나가는지 알 수 있습니다.git하다

git diff origin/{your_branch_name} commit hash

예: git diff origin/master c0e06d2

만약 Mac OS X를 사용하신다면 Tower를 추천합니다.Git을 다루는 것이 즐거웠던 훌륭한 프로그램입니다.터미널 명령어를 기억할 필요가 없어져 파일의 차이를 표시, 추적 및 해결할 수 있는 뛰어난 GUI가 제공되게 되었습니다.

그리고 저는 그들과 제휴한 것이 아니라, 단지 그들의 소프트웨어를 사용하고 있고, 매우 마음에 듭니다.

http://www.git-tower.com/

내 의견을 덧붙이자면...gitlab runner의 gitlab 파이프라인에서 작업을 실행할 때 구현하고 싶었습니다.이를 위한 최선의 방법은 다음 스크립트를 사용하는 것입니다.

git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA

또, 제 경우는, 확장자를 사용해 파일을 필터링 하고 싶다고 생각하고 있었습니다.

git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA '*.py'

그 후, 예를 들면, 이 리스트를 다른 장소에 전송 할 수 있습니다.linter 등).

이게 누군가에게 도움이 되길 바랍니다.

PyCharm 사용자를 위해 추가하고자 합니다.파일 우클릭 -> Git -> 브랜치와 비교

그런 다음 마스터(또는 기타)를 선택할 수 있습니다.

언급URL : https://stackoverflow.com/questions/3636914/how-can-i-see-what-i-am-about-to-push-with-git

반응형