1

gitは非常に新しく、少し読んだ後、次のワークフローを設定しました。

  • Githubリポジトリ

  • ローカルリポジトリ(ワークステーションとラップトップ)

  • DevServer-裸のリポジトリからファイルが提供されるディレクトリへの受信後のフックプッシュ

これはうまく機能していますが、今日は開発サーバーで行われた変更をコミットしてから、ローカルにプルバックしたいと思いました。

しかし、変更をステージングしてコミットしようとすると、「致命的:gitリポジトリではありません...」というエラーが表示されました。

理由は理解できたと思いますが(すべてのファイルを含むディレクトリがgitリポジトリではないため)、DEVサーバーで変更をコミットしてローカルにプルバックするにはどうすればよいですか?

どんな助けでも大歓迎です-私はデザイナーなので、これを単に申し訳ありませんが説明しなければならないかもしれません。

乾杯

ベン

4

2 に答える 2

0

に何かをコミットするGitには、gitリポジトリである必要があります。

代わりに、ftp、sftp、rsync、または使用している可能性のある他の同様の代替手段の1つで、サービスを提供しているサーバーにgitリポジトリのクローンを作成し、更新ごとにgit pull

そうすれば、サーバーからコミットしてgithubにプッシュできます。

Gitプルは非常に最適であり、サーバーに転送する必要のあるデータの量を減らすことさえできます。それだけでなく、サーバーにgitリポジトリを配置することをお勧めします。ブランチやタグを切り替えたり、1つのコマンドで履歴の任意の時点にほんの一瞬で移動したりできるからです。

于 2011-12-01T06:59:54.230 に答える
0

あなたのセットアップが良いアイデアかどうかは完全にはわかりません.クローンを増やして、変なことをしない方が安いです.

編集: 以前は--git-dirオプションを提案していましたが、レポはまだ裸であり、Git はそれを認識しているため、機能しません。ハッカーで回避することもできますが、おそらく最善の方法は、ベアではないクローンを作成し、変更されたファイルをそこにコピーし、コミットして、プッシュバックすることです。必要な場所に完全なリポジトリを実際に用意することで、将来の問題を回避できます。

于 2011-12-01T03:00:45.903 に答える