Skip to main content

파일을 새 위치로 이동

GitHub에서 또는 명령줄을 사용하여 파일을 다른 디렉터리로 이동할 수 있습니다.

Platform navigation

파일 위치를 변경하는 것 외에도 파일 내용을 업데이트하거나 동일한 커밋에서 새 이름을 지정할 수도 있습니다.

GitHub에서 새 위치로 파일 이동

Tip

  • 액세스할 수 없는 리포지토리의 파일을 이동하려고 하면 프로젝트를 개인 계정으로 포크하고 변경 내용을 커밋한 후 원래 리포지토리로 끌어오기 요청을 보낼 수 있습니다.
  • 이미지와 같은 일부 파일은 명령줄에서 이동해야 합니다. 자세한 내용은 "파일을 새 위치로 이동" 항목을 참조하세요.
  • 리포지토리에 보호된 분기가 있는 경우 GitHub를 사용하여 보호된 분기의 파일을 편집하거나 업로드할 수 없습니다. GitHub Desktop을 사용하여 변경 내용을 새 분기로 이동하고 커밋할 수 있습니다. 자세한 내용은 "보호된 분기 정보" 및 "GitHub Desktop에서 프로젝트 변경 내용 커밋 및 검토"의 내용을 참조하세요.
  1. 리포지토리에서 이동할 파일로 이동합니다.
  2. 파일 보기의 오른쪽 위 모서리에서 을 클릭하여 파일 편집기를 엽니다.

파일의 스크린샷. 머리글에서 연필 아이콘으로 레이블이 지정된 단추가 진한 주황색 윤곽선으로 표시되어 있습니다.

참고: 원하는 경우 기본 파일 편집기를 사용하여 파일을 편집하고 커밋하는 대신, 드롭다운 메뉴를 선택하고 github.dev를 선택하여 github.dev 코드 편집기를 사용하도록 선택할 수 있습니다. GitHub Desktop 을(를) 클릭하여 GitHub Desktop을(를) 통해 리포지토리를 복제하고 로컬로 파일을 편집할 수도 있습니다.

파일의 스크린샷 머리글에서 아래쪽을 향한 삼각형 아이콘이 진한 주황색 윤곽선으로 표시되어 있습니다.

1. 파일 이름 필드에서 파일 이름을 변경합니다. * 파일을 **하위 폴더**로 이동하려면 원하는 폴더의 이름 뒤에 다음 `/`를 입력합니다. 새 폴더 이름은 탐색 이동 경로의 새 항목이 됩니다. * 파일을 **파일의 현재 위치 위의** 디렉터리로 이동하려면 파일 이름 필드의 시작 부분에 커서를 놓고 `../`를 입력하여 전체 디렉터리 수준을 한 수준 높이거나 `backspace` 키를 입력하여 부모 폴더의 이름을 편집합니다.
  1. 변경 내용 커밋... 을 클릭합니다.

  2. "커밋 메시지" 필드에, 파일의 변경 내용을 설명하는 커밋 메시지를 간결하고 명확하게 입력합니다. 커밋 메시지에서 둘 이상의 작성자가 커밋의 특성을 지정할 수 있습니다. 자세한 내용은 "여러 작성자와 커밋 만들기"을(를) 참조하세요.

  3. 커밋 메시지 필드 아래에서 현재 분기 또는 새 분기에 커밋을 추가할지 여부를 결정합니다. 현재 분기가 기본 분기인 경우 커밋에 대한 새 분기를 만든 다음 끌어오기 요청을 만들도록 선택해야 합니다. 자세한 내용은 "끌어오기 요청 만들기"을(를) 참조하세요.

    기본 분기에 직접 커밋하거나 새 분기를 만드는 라디오 단추를 보여 주는 GitHub 끌어오기 요청의 스크린샷. 새 분기를 선택했습니다.

  4. 변경 내용 커밋 또는 변경 내용 제안을 클릭합니다.

명령줄을 사용하여 파일을 새 위치로 이동

명령줄을 사용하여 이전 위치에서 파일을 제거한 다음, 새 위치에 추가하여 리포지토리 내에서 파일을 이동할 수 있습니다.

많은 파일은 GitHub에서 직접 이동할 수 있지만 이미지와 같은 일부 파일은 명령줄에서 이동해야 합니다.

이 절차에서는 사용자가 이미 다음을 수행했음을 가정합니다.

  1. 컴퓨터에서 리포지토리를 복제할 때 컴퓨터에서 로컬로 만든 디렉터리 내의 새 위치로 파일을 이동합니다.

  2. Terminal(터미널)Terminal(터미널)Git Bash를 엽니다.

  3. 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")
    
  4. 로컬 리포지토리에 커밋할 파일을 스테이징합니다. 이렇게 하면 이전 위치에서 파일이 삭제(또는 git rm)되고 새 위치에 파일이 추가(또는 git add)됩니다.

    $ git add .
    # Adds the file to your local repository and stages it for commit.
    # 파일의 스테이징을 해제하려면 ‘git reset HEAD YOUR-FILE’을 사용합니다.
    
  5. 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
    
  6. 로컬 리포지토리에서 스테이징한 파일을 커밋합니다.

    $ 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’을 사용하여 파일을 다시 커밋하고 추가합니다.
    
  7. 에 로컬 리포지토리의 변경 사항을 푸시합니다.

    $ git push origin YOUR_BRANCH
    # Pushes the changes in your local repository up to the remote repository you specified as the origin