Совершенно новый репозиторий git сообщает «Все обновлено» при попытке перейти на совершенно новый удаленный

#git #push

#git #толкать

Вопрос:

Я новичок в git. Я только что создал новый проект всего с 4 новыми файлами test1 test2 test3 test4. Затем все, что я сделал, это следующее:

 $ git init
$ git add .
$ git commit -m "VERY 1st commit"
  

вот так просто.

затем я добавил, что удаленный репозиторий также является совершенно новым репозиторием, который я только что создал в bitbucket.org

 $ git remote add rakspace http://syedrakib@bitbucket.org/syedrakib/mysamplegit
$ git push rakspace
  

как вы можете сказать, это совершенно новое рабочее пространство, помещенное в совершенно новое репозиторий. он возвращает это:

Все обновлено

что я здесь делаю не так? Очевидно, что исходные файлы удаленного репозитория НЕ обновляются.

РЕДАКТИРОВАТЬ: у меня есть 2 ветки в моем локальном репозитории: * master * и * new_branch *

Ответ №1:

Поведение по умолчанию git push заключается в том, чтобы нажимать «соответствующие» ветви. Это означает, что любые ветки на вашей стороне, у которых есть ветка с тем же именем, что и на другой стороне, выталкиваются. В совершенно новом репозитории нет ветвей. Поэтому ветви не совпадают. Вы можете создать на удаленном компьютере ветку с именем, соответствующим вашей ветке git push <remote name> <branch name> . В вашем случае: git push rakspace master

Вы можете узнать и изменить настройки push, выполнив поиск push.default в документации git config .

Комментарии:

1. Привет, Райан, я пытался git push rakspace master … он все еще говорит Everything up-to-date . Это потому, что в удаленном репозитории нет соответствующего имени ветки master ?

2. Если вы это сделали, то это означает, что все обновлено. Конец истории. Т.е. У вас нет коммитов в вашей главной ветке, которых еще нет в удаленной главной ветке.

Ответ №2:

Попробуйте выполнить git push rakspace master . Думаю, вам нужно указать, какую ветку вы хотите нажать.

Если это не проблема, мне интересно, действительно ли вы добавили что-нибудь в репозиторий, выполнив git add . ?

Попробуйте выполнить

 touch TEST
git add .
git commit -m "Committing a file named TEST."
git push rakspace master
  

Комментарии:

1. Привет, Баткинс, я пытался git push rakspace master … он все еще говорит Everything up-to-date . Это потому, что в удаленном репозитории нет соответствующего имени ветки master ?

2. я делал это git add . несколько раз …. на самом деле я несколько раз вносил некоторые незначительные изменения и несколько раз фиксировал…. не повезло

3. Хорошо, просто не был уверен, что у вас действительно есть какие-то файлы для фиксации. Можете ли вы попробовать запустить git push rakspace -u master ? -u Опция устанавливает локальную ветку для отслеживания удаленной ветки.

4. Чтобы уточнить, когда я сказал удаленную ветку, я имел в виду удаленную главную ветку. В каждом репозитории есть хотя бы одна ветвь (главная ветвь для этого репозитория). Если вы запустите git branch , он должен распечатать master , что является вашей главной веткой.

5. хорошо …. я понял. ну, я попробовал это. удивительно, что даже это так Everything Up-To-Date … aaaarrrgghh.

Ответ №3:

После множества обсуждений в нескольких местах по всему Интернету я полагаю, что решение для первого перехода к чистому новому репозиторию таково

 git push rakspace --all
  

С этого момента двухтактные работают как обычно. КАК СМЕШНО ??!!!

Комментарии:

1. Неверно говорить, что ваша первая операция с новым удаленным репозиторием должна быть a push --all . В своем разговоре с Баткинсом вы указали, что в прошлом у вас было несколько ветвей, подразумевая, что ваши репозитории на самом деле не были такими нетронутыми, как указано в вашем вопросе. С двумя действительно новыми репозиториями все, что требуется, — это git push <remote name> <branch name> нажать ветку.

2. я обновил свой вопрос фактом о 2 ветвях в моем локальном репозитории …. спасибо, что исправили меня там @RyanStewart .

3. итак, git push rakspace --all все ЛИ мои ветки помещены в удаленное репозиторий?

4. Да, --all опция сообщает git, чтобы он отправлял все ваши локальные ветки без необходимости их перечисления.