2

マニュアルをさらに読むことができるように、Gitの使用方法について誰かにガイダンスを教えてもらえますか?今、マニュアルは私には複雑すぎます。

私はオープンソースコードを使用しています。私はコア開発者ではありませんが、自分の分野でいくつかのモジュールも開発しています。しかし、コアチームは私の開発を受け入れません。すべての変更と新しく追加されたモジュールのバックアップをリポジトリなどに保存して、githubで確認できることを願っています。しかし、それまでの間、コア開発者からの変更されていないすべてのファイルを更新し続けたいと思います。競合またはファイルがある場合は、単に自分のものを保持したいと思います。

では、新しいブランチを作成するか、フォークを作成するか、新しいリポジトリを作成する必要がありますか?

たとえば、クローンblahblahをgitした後、数日後、uodateにgit pullし、ファイルAを変更し、Bの下に新しいディレクトリBとファイルCを追加しました。今何をすればよいですか?git pullをもう一度実行すると、一部のファイルが競合しているという警告エラーが発生するためです。


私の質問の更新:

おかげで、これは非常に役立ちます。

私が間違っている場合は訂正してください。私が今しなければならないことは次のとおりです。

  1. githubに移動し、元のプロジェクトリポジトリのフォークを作成します。これは、自分のアカウントで新しいリポジトリを作成していることを意味しますか?

  2. 次に、この新しいリポジトリにgitリンクアドレスがありますよね?

  3. そして、私は自分のコンピューターで、プロジェクト全体をコピーするためにgitclonethis_new_git_repo_linkを使用します。

  4. 自分のコンピューターで追加または変更し、すべての変更をコミットする方法を学びます。

  5. その後、これらの変更は、オンラインgithubから新しいリポジトリを介して表示されます。

  6. アップストリームで変更があった場合、自分のコンピューターで「アップストリーム」と呼ばれる新しいブランチを作成しますか?私自身のフォークリポジトリからコピーされた元のリポジトリは、デフォルトで「マスター」と呼ばれます。

  7. 次に、コマンドcheckoutを使用してアップストリームに分岐し、「git pull」を実行します。これにより、自分のコンピューターに2つのバージョンが作成されます。1つは更新されたバージョンで、もう1つは変更されたバージョンです。

  8. ここで問題となるのは、この更新されたブランチ「アップストリーム」を自分のブランチ「マスター」にマージする方法です。変更したことのないファイルをマージするコマンドは何ですか。そして、「マスター」の自分のブランチに戻った後、コミットを実行できるように、オンラインリポジトリはアップストリームの更新と自分の変更の両方を使用します。

4

2 に答える 2

1

origin更新への回答: 4から5の間でgithubリポジトリ()にプッシュする必要があります。

7:GitHubガイドupstreamによると、リモートをローカルリポジトリに追加しました。それをフェッチした後()、変更はリモートブランチにあります。git fetch upstreamupstream/master

ほとんどの場合、このブランチで変更(つまり、自分だけ行った変更)をでリベースするgit rebase upstream/masterか、でブランチにマージしますgit merge upstream/master

8:アップストリームでリベース(またはマージ)したら、通常どおりに作業を続けます:コミット、プッシュ。変更はプッシュすると公開され、アップストリームと同期されたバージョンで発生します。

于 2012-04-25T19:03:00.803 に答える
1

あなたと他の開発者がgithubを使用している場合は、メインリポジトリをフォークして、アップストリームとして設定します。その後、自分のマスターブランチで作業し、自分の作品を好きなだけプッシュおよびプルできます。アップストリームブランチが変更され、変更をプルしたい場合は、新しいブランチを作成して現在の場所を簡単にマークし(後でいつでもこのブランチを削除できます)、マスターブランチに戻ってから、アップストリームをプルすることを検討してください。マスターブランチに変更します。マージの競合が発生する可能性がありますが、gitはマスターブランチのファイルでこれらをマークします。コア開発者の変更が気に入らない場合は、追加した競合するコードのすべてまたは一部を削除して、通常どおりに動作し続けることができます。

このサイクルを無期限に繰り返し続けることができるので、コアを比較的最新の状態に保つことができます。

于 2012-04-25T17:35:33.967 に答える