2017-01-26 5 views
0

GITを使用して、デスクトップコンピュータとサーバー間でソースコードファイルを同期しています。git pull - すでに最新のもの

git init --bareで作成したサーバーにgitリポジトリがあります。私はgit initを使ってデスクトップにリポジトリを作成し、すべてのコードファイルをgit add ... etc...で追加しました。

は、私は、「起源」などのサーバーのレポを追加 - このコマンドを使用して(?それはあらゆる手段を起源とマスターとの違いは何のこれらの種類は2つのランダムまたは任意のラベルのように思えるが。):git remote add origin ssh://put the server url here (192.168.0.1 blaa blaa etc)

Iをデスクトップ側でgit push origin masterを実行してください。これにより、サーバー上のgitリポジトリにコードが送信されます。

しかし、サーバー上で自分のコードをコンパイルする必要があります。これを行うために、gitリポジトリをサーバー上の隣接するディレクトリにクローンしました。 (サーバサイド:)(gitリポジトリの親と同じディレクトリに新しいディレクトリを作成し、この新しいディレクトリにcd)git clone ../gitrespository.git(私のコードで新しいサブディレクトリを作る)

私はコンパイルして実行するためにこのサブディレクトリにcdできます。

しかし、今私は自分のコードにいくつかの変更を加えました。私は、デスクトップ側でgitの追跡ファイルを削除し、物理的にこのファイルの名前を変更しました。また、デスクトップ側のgitトラッキングに新しいファイルを追加しました。私はgit push origin masterを使ってコードをサーバーに送りました。

しかし、サーバ側でgit pullを実行すると、がクローンされたリポジトリ内にある「Already Up To Date」というメッセージが表示されます。新しいファイルは表示されず、私が削除した古いファイルはまだそこにあります...何が間違っていますか?

最後に、自分のコードをサーバーにアップロードする方法がありますか?私はそれをコピーするためにrsyncを使っていました。 Gitは変更を追跡するという利点があります(私はまだこれを行う方法を学習していませんが)。複数のユーザーがコードを操作できるようにします。これはおそらく、私がgitリポジトリを使用する場合、複数のコンピュータ(外出先でデスクトップ/ラップトップ)で作業すると、重大な間違いをする可能性は低いと考えられます。ただし、rsyncは非常に「速い」という欠点があります。私は自分のコードをアップロードするために1つのコマンド(入力を減らすためにシェルスクリプトとして)を実行し、コンパイルするためにサーバ上に別のコマンドを実行します。 Gitを使ってアップロードするコマンドを1つ実行し、次に別のコマンドを実行してから別のコマンドを実行してコンパイルしなければなりません。私はそれが1つだけのコマンドだと思いますが、コードをリポジトリに格納するのはちょっと変わっているようですが、サーバー上で使えない形式(Gitリポジトリのフォーマット方法はわかりませんが、私が見ることができる限り)このコードをコンパイルできる形式の別のディレクトリにコピーしてください。

+0

...少し不便である、しかしrsyncの2倍の数のコマンドを実行しなければならないことを意味 – Flows

答えて

0

git push origin masterを実行する前に実行する必要がある別のコマンドがあります。実行する前にgit commit -m 'some message here'を実行してください。

これは私が後に名前を変更し、デスクトップ側のプッシュを行うと、ファイルを削除すると、エラーが表示されないことを確認してください