通常のソフトウェア開発では、我々は(Gitのリポジトリであるここでは)各チームのための共通リポジトリを使用しています。新たな需要があるたびに、我々は、機能ブランチを引き出し、このトピックブランチ上で開発を行い、個人コードを提出します。
私は習慣を持っている:コードのセキュリティを確保するために、公共の倉庫に提出し、作業前に毎日がローカルリポジトリのコードを所有することになります。開発プロセスのために様々な理由のために毎日は、このように公共の倉庫にコードを提出する通勤につながる、個々の倉庫にコードを複数回提出する、提出いくつかのレコードたら、これは公共の倉庫の多様になり、すべての増分混乱を持っています歴史の改正。あまりにも多く提出され、バージョン管理の混乱を引き起こし避けるために、我々は通常、これらが一つにマージを提出するお勧めします。
一般的なコマンドのGit、それを読むことをお勧めしますGitのよく使用するコマンドを
使用すると、マージコミットリベース
Nレコードが提出されたマージする、2つの方法があります。
- 最初から最後のいくつかのHEADバージョンへの
n
バージョン
git rebase -i HEAD~n
- 合併の範囲を指定
startpoint
してendpoint
、注:その始点を意味し、開閉前に特定の期間の後に間隔を合併に関与していません
git rebase -i [startpoint] [endpoint]
- -i平均
--interactive
、そのインタラクティブなポップアップのインターフェースは、合併作業の完了編集をユーザーに許可します - 始点と終点は、編集の範囲を指定します
- 指定しない場合、エンドポイントを、区間の終点終点現在のブランチのHEADデフォルトは提出を指摘しました
オペレーティング
- 実行
git log
ビューには、我々は3 1つの提出に合併を提出する、コミット履歴
- 実行し
git rebase -i HEAD~3
、ポップアップウィンドウの操作
指示:
- 選ぶ:保持コミット(略称:P)
- 言い替える:コミットの保持が、私はコミット(略称:R)のコメントを変更する必要があります
- 編集:コミットを保持するが、私が提出を停止し、変更したい(だけのコメントを修正しない)する(略称:E)
- スカッシュ:コミットとコミットの前に組み合わせる(略称:S)
- フィックスアップ:コミットと合併する前にコミットし、私はコメント(略称:F)を提出された情報を保持しません。
- EXEC:シェルコマンドを実行する(略称:X)
- ドロップ:私はコミットドロップしたい(略称:D)
次のように私たちの需要によると、我々はコンテンツエディタをコミットします。
pick 85697ee This is first commit.
squash ee461c1 This is second commit.
squash 326e415 This is third commit.
上記手段は、第二及び第三の提出は、最初の提出にマージされます。
- その後、保存して終了、Gitの圧縮は、歴史をコミットします。紛争、変更する必要がある場合は、最新の履歴を保持、注意を払うまでの時間を変更し、または私達は変更を破棄します
修正をノックした後、次のコマンドを覚えておきます:
git add .
git rebase --continue
あなたが圧縮を放棄する場合は、次のコマンドを実行します。
git rebase --abort
- そこには、競合されていない、または競合が解決されている場合は、以下のウィンドウが表示されますを編集します
3件の提出が情報を提出するに我々はマージされます
Commit feature branch!
#This is first commit.
#This is second commit.
#This is third commit.
- あなたは合併手続きを完了するために、コミット保存編集を終了し、我々はそれを実行します
git log
そして、公共倉庫に提出し、レコードが存在しないリフレッシュの多くを感じて提出し、それを試して来ます!
いいえ公共の懸念:JAVAの半分の9つの教室を過ぎて、優れたプログラムの猿の数がありますが、私たちは一緒に技術進歩を探求するために参加しません!最新の情報を入手2T「プロファイル」業界への返信!