오리진 마스터 분기의 파일 버전으로 되돌리는 방법
리모트 서버로부터의 레포의 복제 마스터 브랜치의 로컬 컴퓨터의 마스터 브랜치에 있습니다.
파일을 갱신했는데 리모트 마스터 브랜치에서 원래 버전으로 되돌리고 싶습니다.
이거 어떻게 해?
파일을 커밋하지 않았거나 인덱스에 추가하지 않은 경우:
git checkout -- filename
인덱스에 추가했지만 커밋하지 않은 경우:
git reset HEAD filename
git checkout -- filename
당신이 그것을 실행했다고 가정하면, 다음과 같습니다.
git checkout origin/master filename
브런치로부터의 커밋을 모두 삭제하는 경우(VERY DESTARCTIVE)는 다음과 같습니다.
git reset --hard origin/master
저는 같은 문제에 직면했고 이 문제에 직면했습니다만, 제 문제는upstream아래 git 명령어는 나에게 효과가 있었다.
구문
git checkout {remoteName}/{branch} -- {../path/file.js}
예
git checkout upstream/develop -- public/js/index.js
git restore --source origin/master filename
대체 파일(물론 더 나은 파일은 아님)을 추가하기 위해 이전에 파일을 커밋했지만 이제 변경을 취소해야 하는 경우 다음과 같이 수행할 수 있습니다.
git diff HEAD..master -- path/to/file.ext | git apply -
그러면 diff가 생성되어 파일이 의 버전으로 복원됩니다.master브런치를 적용한 후 적용합니다.그 후의 마이너스git apply말한다git표준 입력에서 패치를 읽습니다.
그런 다음 평상시와 같이 파일을 커밋할 수 있습니다.
셸 함수와 같은 명령어를 다음에 나타냅니다.
# Git Reset File
function grf() {
git diff HEAD..master -- $1 | git apply -
}
# for example: grf ./someChangedFile.txt
되돌릴 파일의 최신 커밋 ID와 디렉토리를 찾아야 합니다.
다음 명령어를 사용하여
git checkout [commit ID] -- path/to/file
git commit -m 'commit message'
원격 컴퓨터에서 원하는 파일을 해당 파일의 최신 버전으로 되돌릴 수 있습니다.
아직 마스터 브랜치에 커밋하지 않았다면 다음과 같이 간단합니다.
- (마스터 브랜치에서) 내리다
git checkout -b oops/fluke/dang) - 거기서 변경을 커밋합니다(예:
git add -u; git commit;) - (마스터 브랜치로) 되돌아가다
git checkout master)
변경 내용은 브랜치 ops/fluke/dang에 저장되며 마스터는 원래대로 유지됩니다.
언급URL : https://stackoverflow.com/questions/1817766/how-to-revert-to-origins-master-branchs-version-of-file
'codememo' 카테고리의 다른 글
| 눈금 레이블 글꼴 크기 축소 (0) | 2023.04.13 |
|---|---|
| 파일 타입과 iPhone 어플리케이션을 관련짓는 방법 (0) | 2023.04.13 |
| Visual Studio에서 "사용하지 않은" 컴파일러 경고를 제거하려면 어떻게 해야 합니까? (0) | 2023.04.13 |
| 카운트(*) vs. 카운트(1) vs. 카운트(pk): 어느 쪽이 좋은가? (0) | 2023.04.13 |
| 종속성 속성 SetValue()와 SetCurrentValue()의 차이점은 무엇입니까? (0) | 2023.04.13 |