Git проталкивать в мастер не удалось...

Я не уверен, где искать, так как список ошибок до тех пор, как дно. Но в целом это то, что я сделал.

Что я сделал:

git clone url .
git add abc.txt
git commit -m "testing"
git push origin master / git push

Ошибка:

remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To ../git_abc/

2 ответа

Решение

Вы толкаете master от вашего клона до репо-источника, где сам репо-источник имеет master проверил, и происхождение репо не является bare Сделки РЕПО. GIT не позволяет этого

Чтобы достичь того, что вы пытаетесь сделать,

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

git clone  --bare <origin/repo> intermediate

На вашем оригинальном локальном репо

git remote add upstream <path/to/intermediate>
git push upstream master

По вашему происхождению репо

git remote add downstream <path/to/intermediate>
git pull downstream master    

Или нажмите на какую-то другую ветку в репо-источнике и объедините эту ветку с основной веткой в ​​репо-источнике.

Из местного репо

git push origin master:master_to_be_merged

По происхождению репо

git checkout master
git merge master_to_be_merged

Или проигнорируйте эти предупреждения и в любом случае нажмите

В этом случае вам придется проявить особую осторожность, чтобы ничего не сломалось, и это в любом случае не рекомендуется.

По происхождению репо, запустите

git config receive.denyCurrentBranch ignore

А теперь из вашего местного клона сделайте

git push origin master

Вы проверили ветку?

Пытаться

git checkout your_branch (could be master)

затем

git add blah
git commit
git push origin master
Другие вопросы по тегам