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