파일 위치를 변경하는 것 외에도 파일 내용을 업데이트하거나 동일한 커밋에서 새 이름을 지정할 수도 있습니다.
GitHub에서 새 위치로 파일 이동
Tip
- 액세스할 수 없는 리포지토리의 파일을 이동하려고 하면 프로젝트를 개인 계정으로 포크하고 변경 내용을 커밋한 후 원래 리포지토리로 끌어오기 요청을 보낼 수 있습니다.
- 이미지와 같은 일부 파일은 명령줄에서 이동해야 합니다. 자세한 내용은 "파일을 새 위치로 이동" 항목을 참조하세요.
- 리포지토리에 보호된 분기가 있는 경우 GitHub를 사용하여 보호된 분기의 파일을 편집하거나 업로드할 수 없습니다. GitHub Desktop을 사용하여 변경 내용을 새 분기로 이동하고 커밋할 수 있습니다. 자세한 내용은 "보호된 분기 정보" 및 "GitHub Desktop에서 프로젝트 변경 내용 커밋 및 검토"의 내용을 참조하세요.
- 리포지토리에서 이동할 파일로 이동합니다.
- 파일 보기의 오른쪽 위 모서리에서 을 클릭하여 파일 편집기를 엽니다.
참고: 원하는 경우 기본 파일 편집기를 사용하여 파일을 편집하고 커밋하는 대신, 드롭다운 메뉴를 선택하고 github.dev를 선택하여 github.dev 코드 편집기를 사용하도록 선택할 수 있습니다. GitHub Desktop 을(를) 클릭하여 GitHub Desktop을(를) 통해 리포지토리를 복제하고 로컬로 파일을 편집할 수도 있습니다.
-
변경 내용 커밋... 을 클릭합니다.
-
"커밋 메시지" 필드에, 파일의 변경 내용을 설명하는 커밋 메시지를 간결하고 명확하게 입력합니다. 커밋 메시지에서 둘 이상의 작성자가 커밋의 특성을 지정할 수 있습니다. 자세한 내용은 "여러 작성자와 커밋 만들기"을(를) 참조하세요.
-
커밋 메시지 필드 아래에서 현재 분기 또는 새 분기에 커밋을 추가할지 여부를 결정합니다. 현재 분기가 기본 분기인 경우 커밋에 대한 새 분기를 만든 다음 끌어오기 요청을 만들도록 선택해야 합니다. 자세한 내용은 "끌어오기 요청 만들기"을(를) 참조하세요.
-
변경 내용 커밋 또는 변경 내용 제안을 클릭합니다.
명령줄을 사용하여 파일을 새 위치로 이동
명령줄을 사용하여 이전 위치에서 파일을 제거한 다음, 새 위치에 추가하여 리포지토리 내에서 파일을 이동할 수 있습니다.
많은 파일은 GitHub에서 직접 이동할 수 있지만 이미지와 같은 일부 파일은 명령줄에서 이동해야 합니다.
이 절차에서는 사용자가 이미 다음을 수행했음을 가정합니다.
- GitHub에 리포지토리를 만들었거나, 기여할 다른 사용자가 소유한 기존 리포지토리가 있음
- 컴퓨터에 로컬로 리포지토리를 복제했음
-
컴퓨터에서 리포지토리를 복제할 때 컴퓨터에서 로컬로 만든 디렉터리 내의 새 위치로 파일을 이동합니다.
-
Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.
-
git status
를 사용하여 이전 및 새 파일 위치를 확인합니다.$ git status > # On branch YOUR-BRANCH > # Changes not staged for commit: > # (use "git add/rm <file>..." to update what will be committed) > # (use "git checkout -- <file>..." to discard changes in working directory) > # > # deleted: /OLD-FOLDER/IMAGE.PNG > # > # Untracked files: > # (use "git add <file>..." to include in what will be committed) > # > # /NEW-FOLDER/IMAGE.PNG > # > # no changes added to commit (use "git add" and/or "git commit -a")
-
로컬 리포지토리에 커밋할 파일을 스테이징합니다. 이렇게 하면 이전 위치에서 파일이 삭제(또는
git rm
)되고 새 위치에 파일이 추가(또는git add
)됩니다.$ git add . # Adds the file to your local repository and stages it for commit. # 파일의 스테이징을 해제하려면 ‘git reset HEAD YOUR-FILE’을 사용합니다.
-
git status
를 사용하여 커밋을 위해 준비된 변경 내용을 확인합니다.$ git status > # On branch YOUR-BRANCH > # Changes to be committed: > # (use "git reset HEAD <file>..." to unstage) > # > # renamed: /old-folder/image.png -> /new-folder/image.png # Displays the changes staged for commit
-
로컬 리포지토리에서 스테이징한 파일을 커밋합니다.
$ git commit -m "Move file to new directory" # Commits the tracked changes and prepares them to be pushed to a remote repository. # 이 커밋을 제거하고 파일을 수정하려면 ‘git reset --soft HEAD~1’을 사용하여 파일을 다시 커밋하고 추가합니다.
-
에 로컬 리포지토리의 변경 사항을 푸시합니다.
$ git push origin YOUR_BRANCH # Pushes the changes in your local repository up to the remote repository you specified as the origin