태그 보관물: git-merge

git-merge

다음 추적되지 않은 작업 트리 파일은 병합으로 덮어 쓰지만 걱정하지 않습니다. 지점에서는 해당 파일이 없습니다. 다른 지점을 내 머지에

내 지점에는 .gitignore에 파일이 있습니다.

다른 지점에서는 해당 파일이 없습니다.

다른 지점을 내 머지에 병합하고 싶습니다. 해당 파일이 더 이상 무시되지 않는지 상관하지 않습니다.

불행히도 나는 이것을 얻는다 :

다음 추적되지 않은 작업 트리 파일을 병합하여 덮어 씁니다.

파일을 직접 찾거나 이동하거나 삭제하지 않고 파일을 덮어 쓰기 위해 pull 명령을 어떻게 수정합니까?



답변

문제는 파일을 로컬로 추적하지 않지만 동일한 파일을 원격으로 추적하므로 버전을 제어하지 않는 로컬 파일을 시스템에서 “풀”하기 위해 시스템을 강제로 덮어 쓰는 것입니다.

달리기

git add *
git stash
git pull

이렇게하면 모든 파일을 추적하고 해당 파일에 대한 모든 로컬 변경 사항을 제거한 다음 서버에서 파일을 가져옵니다.


답변

로컬에서 추적되지 않은 파일을 지우는 명령을 시도 할 수 있습니다

Git 2.11 이상 버전 :

git clean  -d  -f .

이전 버전의 Git :

git clean  -d  -f ""

어디 -d다음으로 대체 할 수있다 :

  • -x 무시 된 파일과 Git에 알려지지 않은 파일도 제거됩니다.

  • -d 추적되지 않은 파일 외에 추적되지 않은 디렉토리를 제거하십시오.

  • -f 강제로 실행해야합니다.

도움이 될만한 링크 는 다음과 같습니다 .


답변

나를 위해 일한 유일한 명령은 다음과 같습니다.

git fetch --all
git reset --hard origin/{{your branch name}}


답변

이를 대체 git merge하면 추적되지 않은 파일을 덮어 씁니다.

아래 주석은 ‘관심 파일’에 ‘FOI’를 사용합니다.

  • 기부자 지점에 존재하고
  • 수신 지점에 존재하지 않는 경우
  • 작업 디렉토리에 존재하고 추적되지 않기 때문에 병합을 차단하고 있습니다.
git checkout -f donor-branch   # replace FOI with tracked `donor` versions
git checkout receiving-branch  # FOI are not in `receiving`, so they disapppear
git merge donor-branch  # now the merge works

이를 대체 git pull하면 추적되지 않은 파일을 덮어 씁니다.

pull = fetch + merge따라서 위 git fetchgit checkout -f, git checkout, git merge트릭을 따릅니다 .

git fetch origin  # fetch remote commits
git checkout -f origin/mybranch  # replace FOI with tracked upstream versions
git checkout mybranch  # FOI are not in mybranch, so they disapppear
git merge origin/mybranch  # Now the merge works. fetch + merge completes the pull.

상해

git merge -f존재하지 않지만 존재합니다 git checkout -f.

git checkout -f+ git checkout를 사용 하여 관심있는 파일을 제거하고 (위 참조) 병합이 정상적으로 진행될 수 있습니다.

1 단계. 이 단계는 추적되지 않은 FOI를 추적 된 버전의 도너 브랜치로 강제로 바꿉니다 (또한 도너 브랜치를 체크 아웃하고 나머지 작업 디렉토리를 업데이트합니다).

git checkout -f donor-branch

2 단계. 이 단계에서는 FOI가 현재 (공여) 지점에서 추적되고 receiving-branch스위치가 없기 때문에 FOI를 제거합니다 .

git checkout receiving-branch

3 단계. 이제 FOI가 없으므로 기증자 분기에서 병합해도 추적되지 않은 파일을 덮어 쓰지 않으므로 오류가 발생하지 않습니다.

git merge donor-branch


답변

추적되지 않은 모든 파일을 제거하십시오.

git clean  -d  -fx .


답변

이 작업이 한 번만 수행되면 풀을 수행하기 전에 작업 디렉토리에서 추적되지 않은 모든 파일을 제거하면됩니다. 현재 Git 작업 트리에서 로컬 (추적되지 않은) 파일을 제거하는 방법을 읽으십시오 . 추적되지 않은 모든 파일을 제거하는 방법에 대한 정보.

여전히 필요한 추적되지 않은 파일을 실수로 제거하지 마십시오.)


답변

그 명령을 시도해 볼 수 있습니다

git clean -df