Git으로 파일 이름 바꾸기


81

저는 Git / Github를 처음 사용하며 도움이 필요합니다. README에서 README.md로 파일 이름을 바꾸고 싶습니다. "change-z-index"라는 저장소가 하나만 있습니다.

1) 다음과 같이 열고 로그인합니다.

ssh -T git@github.com

그리고 내 암호를 입력합니다.

2) 다음과 같이 파일 이름을 변경하려고합니다.

git mv README README.md
git commit -m "renamed"
git push origin master

잘못된 소스 라는 오류가 발생 합니다.

먼저 내 저장소를 선택해야한다고 생각합니다. 이름은 "change-z-index"입니다. 설명서를 여러 번 읽었지만 여전히 사용법을 이해할 수 없습니다.


README이미 자식의 통제하에 확실히? 표시되는 오류는 README존재하지 않거나 git의 색인에 없음을 나타냅니다.
CB Bailey

@Charles 베일리 나는 내 Github에서의 웹 페이지를 방문 할 때 내 환매 특약에 추가 정보 파일을 볼 수 있습니다
바다 하리

github에 대한 자세한 내용은 잘 모르지만 로컬 복제본이나 github 서버 자체에서 파일 이름을 바꾸려는 위치는 어디입니까?
CB Bailey

GitHub의 서버 자체에 @Charles 베일리
바다 하리

@BadrHari : 좋아, github 서버가 작동하는 트리가있는 비 베어 저장소를 호스팅한다는 사실을 몰랐습니다. git status서버에서 실행하면 어떻게됩니까 ?
CB Bailey

답변:


132

내가 말할 수있는 한 GitHub는 셸 액세스를 제공하지 않으므로 처음에 어떻게 로그인했는지 궁금합니다.

$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide
shell access.

리포지토리를 로컬로 복제하고 거기에서 변경 한 다음 변경 사항을 GitHub에 푸시해야합니다.

$ git clone git@github.com:username/reponame.git
$ cd reponame
$ git mv README README.md
$ git commit -m "renamed"
$ git push origin master

15
저와 같은 멍청한 사람들을 위해 추가 하면 git mv자동으로 컴퓨터의 파일 이름이 변경됩니다 . 사용하기 전에 먼저 파일을 다른 이름으로 저장하려고했지만 이 어리석은 실수로 인해 git mv오류가 발생했습니다 fatal: destination exists.
MichaelChirico

41

2013 년 3 월 15 일 부터 GitHub에서 직접 파일을 이동하거나 이름을 바꿀있습니다 .

(당신도 REPO 그, 복제 할 필요가 없습니다 git mv xxgit push다시 GitHub의에!)

이름 바꾸기

파일 이름 필드 만 사용하여 완전히 새로운 위치로 파일을 이동할 수도 있습니다.
폴더로 이동하려면 파일을 이동할 폴더의 이름을 입력 한 후 /.
폴더는 이미 리포지토리의 일부인 폴더 일 수도 있고 아직 존재하지 않는 새 폴더 일 수도 있습니다!

움직이는


4
GitHub에서 편집 할 수있는 파일에서만 작동합니다. 이미지 파일과 같은 파일에는 해당되지 않습니다.
A9S6

@ A9S6 사실, 콘텐츠가 (텍스트로) 표시되지 않기 때문에 그런 종류의 의미가 있습니다.
VonC

5
예,하지만 최소한 이름 변경은 허용되어야합니다. :)
A9S6

31

gitmv명령을 사용하여 파일 이름을 바꿀 수 있습니다 .

$ git mv file_from file_to

예:

$ git mv helo.txt hello.txt

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   renamed:    helo.txt -> hello.txt
#

$ git commit -m "renamed helo.txt to hello.txt"
[master 14c8c4f] renamed helo.txt to hello.txt
 1 files changed, 0 insertions(+), 0 deletions(-)
 rename helo.txt => hello.txt (100%)

2
그것은 나에게 오류를 제공 : 나쁜 소스, 소스 = README, 목적지 = README.md
바다 하리

github.com 리포지토리 또는 로컬 리포지토리에서 이름을 바꾸려고합니까?
jaredwilli 2011

github에서 이름을 바꾸려면 로컬 저장소 $ rm file_name에서 제거해야합니다. 커밋을 한 다음 변경하려는 이름으로 해당 파일을 repo에 다시 추가하고 커밋하십시오. 원본과 대상 파일이 일치하지 않아 오류가 발생합니다. 나는 그게 ... 어쨌든 무엇인지 생각
jaredwilli

4

튜토리얼을 진행하면서 비슷한 문제가 발생했습니다.

# git mv README README.markdown

치명적 : 잘못된 소스, 소스 = README, 대상 = README.markdown

소스 파일에 파일 형식을 포함했습니다.

# git mv README.rdoc README.markdown

완벽하게 작동했습니다. 다음과 같이 변경 사항을 커밋하는 것을 잊지 마십시오.

# git commit -a -m "Improved the README"

때때로 그것은 우리를 화나게하는 그런 단순한 작은 것들입니다. LOL


3

를 수행 git status하여 파일이 인덱스에 실제로 또는 커밋 여부를 확인 할 수 있습니다.

초보자는 인덱스 / 스테이징 영역을 오해하기 쉽습니다.

나는 그것을 '진행 핀 보드'로 봅니다. 따라서 add파일을 핀 보드에 ​​추가해야합니다.commit 합니다 (예 : 전체 핀 보드의 복사본). 필요할 때 핀 보드를 업데이트해야하며, 작업이 끝나면 파일을 고의적으로 제거해야합니다. 단순히 파일을 생성, 편집 또는 삭제하는 것은 핀 보드에 ​​영향을주지 않습니다. 마치 '스토리 보드'같아요.

편집 : 다른 사람들이 언급했듯이 github에서 직접 편집을 시도하는 대신 로컬에서 편집 한 다음 업데이트 된 저장소를 푸시해야합니다.


1

예를 들어 현재 디렉토리에없는 README 파일을 호출하는 것과 같이 대상 파일이 찾을 수 없거나 존재하지 않기 때문에 "Bad Status"가 있습니다.


실제로 이것이 내 문제였습니다. 현재 디렉토리를 파일이있는 곳으로 변경하는 것을 잊었습니다.
TheIT
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.