1. ホーム
  2. ギット

[解決済み】このベアリポジトリにプッシュできないのですが?

2022-03-31 09:05:08

質問

このワークフローのどこが問題なのか、説明してください。

$ git init --bare bare
Initialized empty Git repository in /work/fun/git_experiments/bare/
$ git clone bare alice
Cloning into alice...
done.
warning: You appear to have cloned an empty repository.
$ cd alice/
$ touch a
$ git add a
$ git commit -m "Added a"
[master (root-commit) 70d52d4] Added a
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a
$ git push
No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly
error: failed to push some refs to '/work/fun/git_experiments/bare'

しない git push は常にクローン元のリポジトリにプッシュするのですか?

解決方法は?

はい、問題は "bare"にコミットがないことです。 これは、(bare,alice)の順番でレポを作成した場合、最初のコミットだけの問題です。 やってみてください。

git push --set-upstream origin master

これは最初の1回だけ必要です。 その後は普通に動作するはずです。

Chris Johnsenが指摘するように、push.defaultがカスタマイズされていれば、この問題は発生しません。 私はupstream/trackingが好きです。