2017-10-03 8 views
0

まず、多くのトピックがあります。私は裸のリポジトリにはプッシュからの変更が反映されていません

初心者のために、私はgitを覚えていて、最初のプロジェクトにそれを適用しようとしています。

リモートリポジトリ:Linuxの/opt/projectFolder

projectFolderはそれで最初のファイルが含まれていることを

私のセットアップは、このようなものです。

私は次のコマンドを実行します。

git init --bare < - doesntの仕事、それは私が私のプロジェクトで使用するconfigフォルダを持っているので、それはgitのと競合するため、私はエラーを持っていそうです、私は知りませんそれを修正する方法。

だから何私がやったことはある:エラーなしで働いていた

> git init 
> git add . 
> git commit -m"Initial Files" 
> git --bool core.bare true 

、今

ローカルリポジトリのために:Win10 C:/ gitの/ projectFolder

私が実行します。

> git clone [email protected]:/opt/projectFolder 

リポジトリが正常に複製されました。今では、初期ファイルからテキストファイルを編集しようとしました。時間もその後、私が実行します。私はLinuxのリモートレポをチェックすると

> git add . 
> git commit -m"Test commit" 
> git push 

ファイルに変更が反映されませんでしたが、私は他のコンピュータ上でそれを複製した場合、変更が

を反映している私は何をやっています間違っているか、見つからない

+0

回答が役に立ちましたか?もしそうなら、答えを受け入れるか、それ以上の情報を提供しないようにしてください。 – AnimiVulpis

答えて

0

あなたが欠けているのは、の裸のリポジトリには見るべきファイルがありません。 git-scm.com/docsのドキュメントから

が真このリポジトリは裸であると想定し、それに関連した作業ディレクトリを持っていない場合core.bare設定が

core.bare

を何についてthis explanationを参照してください。この場合、git-add [1]やgit-merge [1]のように、作業ディレクトリを必要とする多くのコマンドが無効になります。

この設定は、リポジトリの作成時にgit-clone [1]またはgit-init [1]によって自動的に推測されます。デフォルトでは、 "/.git"で終わるリポジトリは裸ではなく(裸=偽)、他のすべてのリポジトリは裸であるとみなされます(裸=真)。

リポジトリの初期化後の処理を裸のリポジトリにすることはできませんでしたが、うまくいきました。

私の意見では、

! [remote rejected] master -> master (branch is currently checked out) 

エラーを得ているはずですが、それはgitバージョンに依存する場合があります。


あなたはバイナリ形式でのみオブジェクトをコミットするようリポジトリに住んで見ることを期待したファイルの変更(私は詳細には触れません)

しかし、すべてはrefs/objects/の下にありますフォルダ。

十分に説明してください。

+0

だから、どうすればそれらの変更をリモートリポジトリに反映させることができますか? – Roi

+0

私はこの回答をチェックアウトすることをお勧めします:https://stackoverflow.com/a/1434230/1988796 – AnimiVulpis

関連する問題