次のエラーが表示されているディレクトリからクローンを作成しようとすると、それはあなたが持っているもの、裸のリポジトリです。
ソースを取得する最も簡単な方法は、git clone /path/to/your/bare/rep
裸のリポジトリ経由でクローンを作成することですいくつかの開発者から仕事が集まっ取得共有リポジトリ、のようなものです。デベロッパーボックスの場合は、おそらく非裸のものが必要です。
クローニングリポジトリについては、chapterがあります。
EDIT: 私のボックスにはいくつかのgitリポジトリがあります。だから私はあなたの状況をエミュレートしようとします。まず、私は1つのように裸の私のリポジトリをクローンます:
[email protected] /d/test
$ git clone --bare /d/work/gittesting/ bare.git
Cloning into bare repository bare.git...
done.
[email protected] /d/test
$ cd bare.git/
[email protected] /d/test/bare.git (BARE:master)
だからここにあなたがあなたの共有フォルダを持っているように、私はリポジトリをbare.gitています。今私は、実際のソースといくつかの作業ディレクトリを持って、それを複製します:
[email protected] /d/test/bare.git (BARE:master)
$ cd ..
[email protected] /d/test
$ git clone bare.git/ my-non-bare-dev-rep
Cloning into my-non-bare-dev-rep...
done.
[email protected] /d/test
$ cd my-non-bare-dev-rep/
[email protected] /d/test/my-non-bare-dev-rep (master)
今、私はフォルダmy-non-bare-dev-rep
を持っており、リポジトリからすべてのファイルがあります。それはあなたの作業コピーです。文字列(master)
は今あなたがmaster
ブランチに入っているというヒントです。
次に、作業コピーでいくつかの作業をエミュレートします。
私は私が共有担当者からもらったバージョンと比較して作業コピーを持っている変化を見たい
[email protected] /d/test/my-non-bare-dev-rep (master)
$ echo 'my new text' > text-file.txt
:
[email protected] /d/test/my-non-bare-dev-rep (master)
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# text-file.txt
nothing added to commit but untracked files present (use "git add" to track)
を今、私は、いわゆるステージ領域(このテキストファイルを追加します時にはインデックスと呼ばれます)。これは、git commit
コマンドが実行されたときにコミットされる一連の変更を記述するための用語です。
[email protected] /d/test/my-non-bare-dev-rep (master)
$ git add text-file.txt
これで、text-file.txtはステージ領域にあります。しかしそれはまだコミットされていません。これを行うときです:
[email protected] /d/test/my-non-bare-dev-rep (master)
$ git commit -m 'my commit from dev repo'
[master c0b0bd8] my commit from dev repo
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 text-file.txt
So.今は私のローカルリポジトリに保存されています。実際には.git
フォルダにあります。しかし、それはまだ私の同僚もそれを参照するように共有レポに行きませんでした。このために私はpush
を実行する必要があります。
[email protected] /d/test/my-non-bare-dev-rep (master)
$ git push origin
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To d:/test/bare.git/
d01886b..c0b0bd8 master -> master
origin
あなたはクローンをしたときの標準的な名前のgitが親に与えています。私が裸からクローンしたように、私の変化はちょうどそこに行きました。 そして最後に、あなたがpull
コマンドを実行する必要があり、ローカルリポジトリに共有フォルダから更新プログラムを入手するには、次の私の地元の担当者がアップになるよう
[email protected] /d/test/my-non-bare-dev-rep (master)
$ git pull
Already up-to-date.
私は何も変更していないが、他の場所からbare.gitにプッシュ現在まで。そしてgitは私にそう言った。
詳細をお知らせください。それはあなたのローカルレポジトリですか?または、あなたの会社のサーバやギブスなどのURLからクローンを作成したことがありますか?あなたがgitで何をしようとしているのかわからないときに、Gitの本の半分を再読み上げせずに役に立つ助言を与えるのは難しいです... –
が理解されていれば、私が新しいです重要な情報を知るのは難しいです。ディレクトリは共有DropBoxフォルダとして私に与えられました。私は何も自分自身をクローンしていない、ちょうど共有Dropboxのフォルダを受け入れ、今はソースファイルにアクセスしようとしている –
それは完全に共有フォルダを裸にしても大丈夫です。私は答えを編集するためにここで何が起こっているのかを一瞬で説明しようとします... –