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 스크립트는 모두 로컬 복사본의 현재 분기와 원격 또는 원본 분기를 표시합니다.
따라서 오리진 이후에 이루어지는 모든 커밋은 푸시되는 커밋입니다.
푸시할 분기에 있는 동안 셸에서 gitk를 열어서 입력gitk&
리모트상의 내용과 리모트에 푸시 하는 내용의 차이를 확인하려면 , 로컬에서 푸시 되지 않은 커밋을 선택하고, 리모트상에서 오른쪽 클릭해, 「Diff this - > selected」를 선택합니다.
푸시 대기 중인 커밋을 간단히 나열하면 다음과 같습니다(기억할 수 있는 커밋입니다).
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
- 원격에 대한 쓰기 권한이 있는 경우
git push --dry-run
- 원격에 대한 쓰기 권한이 없는 경우
git diff --stat HEAD remote/branch
커밋은 다음 기준으로 나열할 수 있습니다.
git cherry -v
다음으로 ^의 수가 커밋의 수와 같은 다음 명령어와 비교합니다(이 예에서는 2개의 커밋).
git diff HEAD^^
git gui
실제 커밋에서 변경된 사항 목록을 볼 수 있습니다. 이 경우에도 하실 수 있습니다.gitk
wich는 재로그를 위한 간단한 인터페이스를 제공합니다.만 하면 .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가 제공되게 되었습니다.
그리고 저는 그들과 제휴한 것이 아니라, 단지 그들의 소프트웨어를 사용하고 있고, 매우 마음에 듭니다.
내 의견을 덧붙이자면...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
'programing' 카테고리의 다른 글
WPF 라벨액셀러레이터 키 비활성화(텍스트 밑줄 누락) (0) | 2023.04.21 |
---|---|
장고와 xlrd, 메모리에서 읽기 (0) | 2023.04.21 |
파일 이름 문자열에서 파일 확장자 제거 (0) | 2023.04.21 |
SQL, PL-SQL 및 T-SQL의 차이점은 무엇입니까? (0) | 2023.04.21 |
스토리보드를 사용하여 초기 뷰 컨트롤러를 프로그래밍 방식으로 설정합니다. (0) | 2023.04.21 |