1

私が使用したGit-1.7.11-preview20120710.exe。gitリポジトリを作成します

cd "GIT scm/"
git init --bare shahed.git
cd shahed.git
git update-server-info

次に、次のコマンドでgitdaemonを起動します

git daemon --reuseaddr --base-path="E:/GIT scm/" --export-all --verbose --enable=receive-pack

次に、次のようにgitリポジトリのクローンを作成します

git clone git://localhost/shahed.git

Cloning into 'shahed'...
warning: You appear to have cloned an empty repository.

cd shahed
touch shahed.txt
touch shohel.txt
git add *.*
git commit -m 'ok'

[master (root-commit) 2062f1d] 'ok'
 0 files changed
 create mode 100644 shahed.txt
 create mode 100644 shohel.txt

git push

No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
Everything up-to-date

gitデーモンコンソールが次のメッセージをログに記録している間

[4044] Ready to rumble
[736] Connection from [::1]:50076
[736] Extended attributes (16 bytes) exist <host=localhost>
[736] Request upload-pack for '/shahed.git'
[4044] [736] Disconnected
[4860] Connection from [::1]:50079
[4860] Extended attributes (16 bytes) exist <host=localhost>
[4860] Request receive-pack for '/shahed.git'
[4860] fatal: The remote end hung up unexpectedly

しかし、私はgitpushを実行できません。誰かが私がgitリポジトリを作成するために逃したステップを教えてくれます。すべてのイニシアチブは私が取っていますが、それは大丈夫です。または、gitリポジトリを構成するための不足はどこにありますか。

4

1 に答える 1

4

それがあなたに言っているのは、それが空で作成されたのでmaster、あなたの裸のリポジトリにブランチがないということです。originそのため、更新するブランチが見つからず、デフォルトでは、新しいブランチが盲目的に作成されることはありません(タイプミスなどの場合)。git push -f origin master初めて使用する必要があるかもしれません。にmasterブランチがあるとorigin、通常は正常に機能git pushするはずです。

または、最初に作業リポジトリを作成し、少なくとも1つのコミットを入れてから、git clone --bareそれを自分のgit-daemon場所に作成することもできますが、その場合はorigin、ベアリポジトリのリモート仕様を削除する必要があり、手動で追加する必要があります(または、作業リポジトリで再クローンを作成します。

于 2012-12-11T16:09:58.013 に答える