source

꺼내기 요청에서 수정된 파일 제거

ittop 2023. 7. 1. 10:01
반응형

꺼내기 요청에서 수정된 파일 제거

현재 3개의 수정된 파일(새 파일 없음)이 풀 요청에 있습니다.

꺼내기 요청에서 해당 파일 중 하나를 제거하여 꺼내기 요청에는 두 개의 파일에 대한 변경 사항만 포함되어 있고 세 번째 파일은 원래 상태로 유지하고 싶습니다.

몇 가지 시도를 해봤지만(파일 원본 확인 등) PR에 변경된 파일로 표시됩니다.

이것에 대한 해결책이 있습니까?

꺼내기 요청을 생성한 분기로 전환합니다.

$ git checkout pull-request-branch

수정된 파일을 다른 분기의 파일로 덮어씁니다. 마스터라고 가정해 보겠습니다.

git checkout origin/master -- src/main/java/HelloWorld.java

커밋하고 원격으로 푸시:

git commit -m "Removed a modified file from pull request"
git push origin pull-request-branch

참조:

git 체크아웃 문서 참조:

git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <pathspec>…​

경로 규격과 일치하는 파일의 내용을 덮어씁니다. 때.<tree-ish>(대부분의 경우 커밋)을 지정하지 않고 작업 트리를 인덱스의 내용으로 덮어씁니다. 때.<tree-ish> 정된경 작트모다두위리음있에 .<tree-ish>.

것든모는 내의 것.[]선택 사항입니다.을 다른 branch에서 해당 .

파일을 되돌리려는 분기로 전환합니다.

이것이 그것에 대한 명령어입니다.

파일을 복원할 원격 및 지점을 선택하기만 하면 됩니다.

git checkout <remote>/<branch> -- <file_path_from_project_root_folder>.

내 경우에는, 그것은.

git checkout origin/master -- .github/workflows/ci.yml

커밋을 수정한 다음 PR로 분기를 업데이트하는 강제 푸시를 수행할 수 있습니다.

이 작업을 수행하는 방법은 다음과 같습니다.

  1. PR을 종료하여 검토 중인 사용자가 변경할 때까지 PR을 사용하지 않도록 합니다.
  2. 않는 변경을 에 커밋으로 . ( 커밋인 에는 " " " " ("을 할 수 .)git reset --soft HEAD^커밋 ID)로 대체하려고 .
  3. 업데이트할 의도가 없는 파일의 변경 내용 삭제(또는 취소)
  4. 커밋 만들기 새밋만기git commit -a -c ORIG_HEAD
  5. 분기에 강제 푸시
  6. 꺼내기 요청 다시 열기

분기가 업데이트되었으니 풀 요청에 변경 사항이 포함됩니다.

다음은 Gits 문서에 대한 링크입니다. Gits 문서에는 커밋 실행 취소 및 다시 실행의 좋은 예가 나와 있습니다.

Azure DevOps를 처음 사용하거나 처음 사용하는 사람들을 위한 쉬운 방법.

파일 변경이 간단하지만 PR이 여전히 열려 있으면 지점으로 이동하여 파일을 원래대로 다시 수정한 다음 변경 사항을 커밋하고 푸시하면 됩니다.PR이 업데이트되어야 하며 대상 분기와 정확히 일치하면 파일이 사라집니다.

복잡한 변경인 경우 동일한 작업을 수행하지만 파일 기록을 확인하고 이전 버전(Windows의 경우 Ctrl-A)을 복사한 다음 dev 분기에서 버전을 덮어쓴 다음 커밋하고 푸시할 수 있습니다.

git 명령보다 UI 솔루션을 선호하는 사용자를 위해...마스터 분기(또는 병합할 분기)에서 수정되지 않은 파일을 다운로드한 다음 수정된 파일과 함께 로컬 폴더에 붙여넣어 수정되지 않은 버전으로 바꿀 수 있습니다.그런 다음 변경을 커밋하고 위로 밀어 올립니다.

예를 들어 file1, file2 및 file3에 대해 branch1에서 PR을 생성하려고 합니다.이제 PR에서 file3을 제거하려고 합니다.

  1. PR이 생성된 지점을 확인합니다.git 체크아웃 지점 1

  2. 커밋 기록 Git 로그를 확인하십시오. 다음과 같은 세부 정보를 제공합니다.

    커밋 <some id 1> (출처/지점1, 지점1) 작성자: abc 날짜:11월 2일 화요일 16:47:03 2021 +0530

    커밋 <some id 2> (출처/지점1, 지점1) 작성자: abc1 날짜:11월 11일 화요일 16:47:03 2021 +0530

  3. 변경 전 커밋 ID를 찾고 해당 커밋 ID 체크아웃 <some id 2> C:\Code\project\file3.java로 파일3을 체크아웃합니다.

  4. 그런 다음 dogit commit file3.javigit commit -m "Remove file3 from PR" git push

  5. PR을 확인하십시오. 파일 3은 지금 제거되어야 합니다.

올바른 상위 답변과 함께 "error: pathspec" 오류가 발생하는 경우 저장소 원본 폴더에서 이러한 명령을 실행하여 해결할 수 있습니다.

git rm -r --cached .
git add .
git commit -m "fixed pathspec error"

제가 댓글로 덧붙였을 텐데 평판이 안 좋아요, 죄송합니다.

로컬 리포지토리가 아닌 꺼내기 요청에서 파일을 제거하는 중입니다.

  1. 다음 명령을 사용하여 요청을 작성한 지점으로 이동합니다.

git checkout -- c:\debug... 다음 git checkout origin/master -- c:\debug...u origin/master를 다른 분기로 대체합니다.다음 git commit -mc:\temp...다음 git 푸시 원점

참고: 파일 경로에 대한 단일 따옴표 또는 큰따옴표 없음

끌어오기 요청은 하나의 분기를 다른 분기로 병합하는 요청입니다.

꺼내기 요청에는 "포함"된 항목이 없습니다. "이 분기를 해당 분기로 병합하십시오."라는 표시일 뿐입니다.

PR이 웹 UI에 표시하는 변경 사항 집합은 대상 분기와 피쳐 분기 간의 변경 사항일 뿐입니다.끌어오기 요청을 수정하려면 형상 분기를 수정해야 합니다. 형상 분기에 강제 푸시를 사용해야 합니다.

당신의 경우, 당신은 아마도 당신의 약속을 수정하고 싶을 것입니다.당신의 정확한 상황은 모르겠지만, 대화형 리베이스와add -p당신을 정리해야 합니다.

GitHub 웹으로 이동하여 파일에서 추가 작업(... 3개의 점 아이콘)을 클릭하면 됩니다. > 파일 삭제 > 현재 지점에 커밋.

Delete File

Commit changes to branch

언급URL : https://stackoverflow.com/questions/39459467/remove-a-modified-file-from-pull-request

반응형