나는 git을 사용하여 /home, /etc의 파일과 /boot(systemd-boot의 경우)에 수동으로 생성한 일부 항목을 포함하는 Linux "dotfiles"를 유지 관리합니다. 또한 git add
수동으로 추가한 파일을 추적하는 $HOME/.cache/dotfiles에 저장된 기본 git 저장소를 사용하여 이러한 파일을 추적합니다 .
필요한 경우 다음 링크를 통해 이 저장소를 볼 수 있습니다.https://github.com/Frontear/dotfiles/tree/rewrite
내 컴퓨터에서 실수로 저장소 파일을 삭제한 후 현재 문제가 발생했습니다($HOME/.cache/dotfiles 삭제). 다시 작성했는데 git init —bare ~/.cache/dotfiles
문제가 발생했습니다. 원격 저장소를 연결한 후에 git remote add
는 원하지 않는 로컬 파일을 덮어써야 하기 때문에 가져올 수 없습니다. git이 현재 파일을 사용하고, 원격 파일을 로컬로 복사하여 HEAD와 일치시키고, 변경 사항이 있으면 (어쨌든) 그냥 unstaged 등으로 표시하고 기본적으로 저장소에서 삭제를 취소하기를 원합니다. p
어떻게 해야 하나요? git fetch
후행을 사용해 보았지만 git symbolic-ref HEAD refs/remotes/origin/rewrite
(다른 stackexchange 질문의 조언을 따랐습니다) 다음 문제에 직면했습니다. 원격 참조 위에 앉아 있었기 때문에 로컬 트리에 가지가 없었습니다. 이상적으로는 로컬 지점에 병합하고 싶지만 이를 달성하는 방법을 모르겠습니다. 다양한 질문을 읽었으며 --hard를 재설정하라는 지시를 받았습니다(분명히 git은 일부 파일에 대한 수정자를 모르기 때문에 지우기 + 권한 문제가 아니기 때문입니다). clean -d -f(이 역시 파일 삭제가 될 것이라고 확신합니다) ).
cp
내가 원하는 것이 가능합니까, 아니면 원격 HEAD를 사용자 정의 로컬 분기 HEAD 위치에 복사하기 위해 뭔가를 해야 합니까 ? 나는 그렇지 않기를 바라며 내 곤경에 대한 로컬 git 솔루션이 있기를 바랍니다.