Переименовать файл с помощью Git - PullRequest
65 голосов
/ 31 июля 2011

Я новичок в 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".Я прочитал руководство много раз, но все еще не могу понять, как это сделать.

Ответы [ 6 ]

111 голосов
/ 31 июля 2011

Насколько я могу судить, 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
41 голосов
/ 16 марта 2013

Обратите внимание, что с 15 марта 2013 года вы можете перемещать или переименовывать файл непосредственно из GitHub :

(вам даже не нужно клонировать это хранилище, git mv xxи git push обратно в GitHub!)

renaming

Вы также можете перемещать файлы в совершенно новые местоположения, используя только поле имени файла.
Для перемещения вниз поПапка, просто введите имя папки, в которую вы хотите переместить файл, затем /.
Папка может быть папкой, которая уже является частью вашего хранилища, или даже новой папкой, которая не 'пока не существует!

moving

29 голосов
/ 31 июля 2011

Вы можете переименовать файл, используя команду git mv:

$ 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%)
4 голосов
/ 18 июня 2015

У меня была похожая проблема при прохождении учебника.

# git mv README README.markdown

фатально: неверный источник, источник = README, пункт назначения = README.markdown

Я включил тип файла в исходный файл:

# git mv README.rdoc README.markdown

и это сработало отлично. Не забудьте зафиксировать изменения с т. Е.

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

Иногда нас просто бесят простые мелочи. LOL

3 голосов
/ 31 июля 2011

Сделайте git status, чтобы узнать, находится ли ваш файл на самом деле в вашем индексе или в коммите.

Легко, как новичок, неправильно понять индекс / область подготовки.

Я рассматриваю это как «прогресс-булавку». Поэтому мне нужно add файл в буфер обмена, прежде чем я смогу commit его (т. Е. Копию полного журнала), я должен обновить буфер обмена, когда это необходимо, и я также должен сознательно удалять файлы из него, когда я с ними покончено - простое создание, редактирование или удаление файла не влияет на буфер обмена. Это как «раскадровка».

Редактировать: Как уже отмечалось, вы должны вносить изменения локально, а затем загружать обновленное хранилище, а не пытаться редактировать прямо на github.

1 голос
/ 14 августа 2012

Вы получили "Bad Status", потому что целевой файл не может быть найден или отсутствует, как, например, вы вызываете файл README, которого нет в текущем каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...