3

私は Git を学び、すべてのプロジェクトに実装しています。ローカル マシンに Git を正常にインストールし、各プロジェクトの git リポジトリを作成し、各プロジェクトの bitbucket アカウントにすべてのコミットをプッシュし始めました。

現在、これらのプロジェクトはすべて、対応する git リポジトリをまだ持っていない本番サーバーで既に稼働しています。

私がやりたいのは、対応する各プロジェクトの bitbucket からコミットをプルダウンして、変更が反映されるようにすることです...また、そのプロジェクトの運用サーバーに git リポジトリをセットアップします。

私はそれを正しく説明したことを願っています。私は SSH を使用しており、...git initも試してみましたが、プルまたはフェッチの後にしようとすると.... 実稼働サーバー上のすべてのファイルが追跡されていないと表示されます。ただし、私の bitbucket リポジトリに反映されているように、それらは既に追跡されているはずです。右?git pullgit fetchgit status

何時間も読んだにもかかわらず、これを適切に行う方法について少し混乱しています。どんなヘルプや方向指示も素晴らしいでしょう!

4

2 に答える 2

1

私の仮定は、本番サーバーでinitを実行したことです。

git init

そして、リモートリポジトリとしてbitbucketを追加しました

git remote add bitbucket git://bitbucket.com/project

ローカルでコミットし、フェッチし、マージまたはリベースするだけです。

コミットは変更をローカルリポジトリにコミットし、ビットバケットには反映されません。

git commit -a-m'コミット'

フェッチは、変更をビットバケットからサーバーにプルします。

git fetch bitbucket 

マージにより、新しい変更がサーバー上のリポジトリにマージされます。

git merge bitbucket/master

ただし、個人的には、このシナリオでのマージよりもリベースを好みます。これにより、ローカルの変更が、bitbucket / masterのコミットと織り交ぜられる代わりに、基本的に最後のコミットに追加されます。リベースにより、競合の量が減ることがわかりました。

git rebase bitbucket / master

マージの競合が発生する可能性があります。その場合は、競合領域を編集し、競合したファイルに対して「git add」を実行してから、再度コミットする必要があります。

于 2013-02-21T22:00:35.517 に答える
0

SSH を誤って構成する可能性があります。ここを見てください https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git そしてやってみてください

git remote add origin [リポジトリへのリンク]

于 2014-02-15T19:22:23.440 に答える