Подтвердить что ты не робот

Git проблемы с фиксацией

Я только что обработал свое рабочее дерево, добавленное сначала в индекс, с "$ git commit -m 'test". Я сохранил stdout-put из этого файла, и я вижу вверху его, что он говорит

# On branch master  
# Changed but not updated:  
# (use "git add/rm ..." to update what will be commited)  
# (use "git checkout -- ..." to discard changes in working directory)"  

проблема заключается в том, что мое рабочее дерево не связано с репо, и у меня есть ощущение, что это имеет к этому какое-то отношение.

спасибо

4b9b3361

Ответ 1

Короткий ответ:

git push -u origin master

Более длинный ответ:

Скорее всего, вы пытаетесь перевести фиксации в ветвь, которая еще не была создана - например, в недавно созданном репозитории Github без автоматического создания файла README. Вызывая git push -u origin master, вы указываете как удаленный, на который нужно нажать (начало, обычно это git default), так и ветвь (master, также по умолчанию в типичных случаях). Согласно документации git:

-u, - установочный поток       Для каждой ветки, которая обновлена ​​или успешно нажата, добавьте ссылку вверх (отслеживание), используемую без аргументов git -pull (1) и другие команды. Для большего        информацию см. в разделе branch..merge в git -config (1).

Это означает, что после успешного запуска этой команды с этого момента вы сможете просто использовать git push и git pull, и по умолчанию будет origin master (с некоторыми исключения).

Ответ 2

Прежде чем совершить изменение, вы должны сначала добавить его в индекс:

git add myfile
git commit -m "test"

Кроме того, вы можете работать в более стиле SVN и передавать все, что было изменено:

git commit -a -m "test"

Или вы можете просто добавить и зафиксировать один файл:

git commit myfile -m "test"

Ответ 3

Вы сделали git add ., прежде чем совершили?

Всегда полезно сделать git status перед тем, как git add или git commit, чтобы увидеть, что было изменено и поставлено.

Также очень удобно делать git diff, чтобы увидеть конкретные изменения, которые вы собираетесь совершить.

Здесь git status показывает, добавили ли вы файл, а затем переименовали его.

[email protected]:~$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   foo.txt
#
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    foo.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   bar.txt

В этот момент вы можете просто сделать git add ., а затем git status will give you more information, perhaps pointing out that you still have a new file and a deleted file called foo.txt . To fix this you need to manually git rm foo.txt before doing git commit`

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

Ответ 4

Еще одно замечание: git add добавляет содержимое этих файлов в индекс в момент его запуска. Если вы запустите git add и затем измените файлы, новые изменения не будут отображаться в индексе.

Ответ 5

Вам действительно нужно прочитать документацию.

git add yourfile
git commit -m "test"

Или, чтобы зафиксировать все измененные файлы -

git commit -a -m "test"

Ответ 6

Если вы перемещаете файлы и используете git add после этого, git добавляет только новую копию, но не удаляет старую:

$ git status
# On branch master
nothing to commit (working directory clean)
$ mv from to
$ git add .
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   to
#
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    from
#
$ git commit -m "..."
$ git status
# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   deleted:    from
#
no changes added to commit (use "git add" and/or "git commit -a")

Чтобы удалить старые копии, вы также должны использовать git rm:

$ git rm from
rm 'from'
$ git commit -m "..."
$ git status
# On branch master
nothing to commit (working directory clean)

Но я не понимаю, почему это не позволяет вам совершать эти изменения.

Ответ 7

Ребята У меня была такая же проблема с Git.
Я запускаю Cygwin на окнах 8.

  • проверьте, есть ли у вас репозиторий, который вы хотите зафиксировать.
  • проверить путь

$ git remote -v # Вот как вы можете видеть свой путь

$ git remote set-url origin [email protected]:username/repos.git # так вы дистанционно устанавливаете новый путь для перемещения файлов в правый репозиторий. $ git remote -v #, чтобы проверить, был ли установлен правильный путь.

  1. $git добавить.

4.

 $ git push origin master

НАДЕЖДА ЭТО ПОМОЩЬ