2016-12-29 9 views
1

私のサーバのフォルダに\\xxxxxx\Demoのgit repoを作成してから、gitクローンを作成しても問題ありませんが、コミットしてリモート(サーバのフォルダ)にプッシュすると、Gitがサーバーのフォルダで更新されないのはなぜですか?

$ git push origin master 
Counting objects: 3, done. 
Writing objects: 100% (3/3), 212 bytes | 0 bytes/s, done. 
Total 3 (delta 0), reused 0 (delta 0) 
To //xxxxxx//Demo 
* [new branch]  master -> master 

しかし、私はgit logでログを確認するために進んできたし、それは私がプッシュしたが、変更がないことをコミットを私に示して、サーバー内のファイルが更新されません確認してください。

何か間違っていますか?

+0

変更がサーバーに適用されたことを確認するだけですか?それらはサーバの裸のリポジトリの作業ディレクトリには表示されません。それらは圧縮された形式で.gitディレクトリに格納されます。あなたは別のローカルディレクトリに引っ張って変更が存在することを確認できます。 –

答えて

1

サーバー上のファイルを更新するには、サーバー上でgit pullを実行する必要があります。 Pushは、.gitフォルダ内のファイルの状態だけを変更します。

サーバ上でbare gitリポジトリを使用するのは非常に一般的です。

Getting Git on Server

+0

動作しませんでした '$ git pull' ' fatal:この操作は作業ツリーで実行する必要があります ' –

1

あなたは、サーバー側でbare repositoryを設定しました。 git pullを作業ツリーなしで実行することはできませんが、git fetchしか実行できませんでした。

ベアリポジトリはすべてのVCSの変更を追跡することを目的としていますが、リソースを含むgit作業コピーとしては使用できません。サーバー側(裸ではない)に別のリポジトリを作成して、裸のリポジトリからリソースを取得しようとする可能性があります。

関連する問題