Git_基本コマンド

gitinit // Gitリポジトリを初期化する「役割=」プレゼンテーション「> gitinit //倉庫の状態を確認// Gitのリポジトリgitinitを初期化するGitのリポジトリにgitの状態を初期化する//

gitadd.//ステージングエリアに「役割=」プレゼンテーション「> gitadd .//追加ステージング領域のgitにすべての修正を加えるgitadd.//ステージング領域にすべての修正を加える* // Antのスタイルをすべての修正を追加修正を加えること

すべての変更は、「=役割」*コントローラー//コントローラはステージング領域にファイルの終わりになりますgitaddプレゼンテーション「> gitadd?すべての修正コントローラ//コントローラはステージング領域gitadd?コントローラへのファイルの末尾になります//すべての変更は、こんにちはで始まるすべてのファイルを変更するこんにちは* //を追加し、一時的なエリアのgitの最後にコントローラにファイルを追加しますたとえば、ステージングエリアに追加:HelloWorld.txt、Hello.java、HelloGit.txt ...

?Hello1.txt、HelloA.javaまたはそれはHelloGit.txt Hello.javaが複数回加えた後、追加されることはありませんされている場合:GitaddHello //こんにちはだけ例えばステージングエリアに提出改訂文書の先頭に戻ってきます「役割=」プレゼンテーション「提出の修正でステージングエリアに提出> gitaddHello //こんにちはバックファイルの先頭のほんの一例:? Hello1.txt、HelloA.java HelloGit.txtか、Hello.javaされていない場合になります複数回追加することができ、その後、例えばステージングエリアに提出改訂文書の始まりに過ぎないの後ろにgitaddHello //こんにちは提出する追加されます:? Hello1.txt、HelloA.javaまたはそれがHelloGit.txt Hello.javaある場合を複数回加えた後、-m「コメント」コミットgitのを提出することができます追加されません//有意義な視線に情報を追加するために倉庫の後部にステージングエリアを変更するために提出されます

gitdifffile //まだファイルに(リポジトリ==異なる差のと異なる差分最新バージョン)ビューの変更部分を提出していない時間を変更されて「役割=」プレゼンテーション「> gitdifffileは、ファイルに変更されていない提出//修正部分表示しているとき(リポジトリの最新バージョンと異なる差分を==異なる差)gitdifffileは、//修正部分を表示するように変更されている(とリポジトリ異なる差分の時間の最新バージョンは、まだファイルが登録されていません==別の差異)gitのログ//ビューgitが情報をコミット、各によって提出された情報は、古いものから最新まで、考慮に視線含ま提出提出

gitlog-かなり=としてonelineは//行の注目Gitのバージョン番号(commitidがある)に表示されている情報SHA1のea34578d5496d7dd233c827ed32a8cd576c5ee85がある「ロール=」プレゼンテーション「>注目のGitの行に表示された情報をコミット簡素化gitlog-かなり=としてoneline //コミット簡素化バージョン番号は(commitidである)SHA1のea34578d5496d7dd233c827ed32a8cd576c5ee85gitlog-かなり=としてoneline //行注目Gitのバージョン番号(commitidである)で表示された情報をコミット簡略SHA1のea34578d5496d7dd233c827ed32a8cd576c5ee85のGitがリセットされる-hard HEAD ^ //現在のバージョンに対して後退現在のバージョンは、バージョンHEADを表し、

gitが「ロール=」プレゼンテーション「のバージョンの現在のバージョンにバージョンHEAD代表に対して返す// -hard HEADを^^リセット> HEADの現在のバージョンに以前のバージョンに現在のgitreset-hardHEAD ^^ //相対を返します現在のバージョンgitreset-hardHEADが^^ // gitの現在のバージョンのHEADの代表の現在のバージョンのバージョンに対して戻り表し、現在のバージョンと現在のバージョンのバージョンに対して100 -hard HEAD〜100 //リターンHEADを表すリセット

Gitreset-hard3628164は、すべてがここに書かれて戻って自動的にGitのバージョンのロールバックスピードに適応しますが、時間のバージョンをロールバックするときGitは内部HEADポインタの現在のバージョンにポイントがあるため、非常に高速であるcommitidGit必要としません指定されたバージョンに戻す// Gitは単にHEADポイントからappendGPL「役割=」プレゼンテーション「gitreset-hard3628164は//指定されたバージョンに戻ります> Gitのバージョンのロールバック速度に適応し、自動的にバックすべてcommitidGitを記述する必要はありませんGitリポジトリ内がありますので、非常に高速であります現在のバージョンへのHEADポインタポイントを、あなたは時間のバージョンをロールバックするとき、ちょうどHEAD appendGPLgitreset hard3628164から返されたGitリポジトリ - //バック自動的に適応したバージョンのロールバックスピードをすべてcommitidGitを記述する必要はありません特定のバージョンを指し示すが、非常に高速GitのですGitは内部のあなたの時間のバージョンをロールバックする場合、Gitは単にHEADがappendGPL gitのREFLOG //古いバージョンが古いバージョンに戻った後に表示することができ、前のポイントからログがコミットされたHEADポインタの現在のバージョンへのポイントがありますので、

我々は古いバージョンから新しいバージョンに返すようにしたいが、我々はシェルウィンドウを閉じたとき、あなたはあなたができる、コミットIDの前に表示することはできません。

commitid「役割=」プレゼンテーション「のgitreflog表示する前にcommitidgitreflog以前のバージョンの以前のバージョン> gitreflogビューは-hard 3628164をリセットcommitidのgitのバージョンを表示するには

ワークエリア、ステージングエリア

ワークスペース:作成した「役割=」プレゼンテーション「> gitinitによって、私たちのコードベースのファイルのすべてが、.gitが含まれていません:それはすべてのファイルは、我々はgitinit作成を渡すが、.gitファイル(リポジトリ)ステージング領域が含まれていないコードベースということですファイル(リポジトリ)ステージングエリア:私たちのファイルのコードライブラリのすべてのgitinitによって作成されたが、.gitファイル(リポジトリ)一時記憶領域は含まれません。私たちは./*/*Xxx/Xxxx*が追加追加gitの修正を、ステージングエリアに入力され、肉眼では見えない$ gitの状況によって変更された状態を見ることができます

修正は何ですか?

たとえば、あなたは、変形例である行を追加します

行を削除するには、それが変更され、

いくつかの文字を変更するだけでなく、修正、

一部を削除し、いくつかを追加し、それが修正され、

でも、それはまた変更とみなされ、新しいファイルを作成します。

変更のみ将来的にコミットすることができステージングエリアに追加

ファイルに変更され、まだ時間が追加されました

gitcheckoutファイル// /元の状態(変更、一時領域に追加含まない)と、ファイルがステージングエリアに追加修正された、まだコミット「ロール=」プレゼンテーション「> gitcheckoutファイルを破棄引っ込め変更したワークスペースを表し/破棄する破棄//ファイルが変更され、ステージングエリアに追加された(変性および一時領域に加え含まない)元の状態に戻すために、ワークスペースを変更表し、まだcommitgitcheckoutファイル(ワークスペースが元の状態に戻っていない変更表します変更され、ファイルが変更され、ステージングエリアに追加し、まだgitのリセットHEADファイルをコミットされています)一時領域に追加含む//廃棄ファイルには、ステージングエリアを変更するために追加されましたがHEADの最新バージョンを表し

ファイルは、ローカルリポジトリを変更するために提出された場合

$ Gitはリセット-hard HEAD ^ //以前のバージョンに戻します

rmfile //ファイルからシステムファイルを削除(またはGitのに記録)するために、「ロール=」プレゼンテーション" > rmfile // rmfile //ファイルシステムからファイルを削除し、(Gitの中に記録された)のファイルシステムからファイルを削除ファイルが削除されたとき、gitのステータスGitはあなたを教えてくれます(Gitは、まだレコードがあります)

//は、Gitのリポジトリファイル(ファイルがファイルシステムから削除されている)「役割=」プレゼンテーション「> gitrmfile // Gitのリポジトリからファイルを削除から削除gitrmfile(ファイルはファイルシステムから削除されます)Gitリポジトリからgitrmfile //通常のリポジトリの削除ファイル(ファイルシステムからファイルを削除する)gitのステータス

gitrmfile // gitリポジトリファイルから削除し、「役割=」プレゼンテーション「> gitrmfile // gitrmfileはgitリポジトリをgitのからファイルを削除-mをコミット// gitリポジトリからファイルを削除し、」ファイルの削除「//削除提出

gitcheckoutfile // gitのから回復することになるでしょう:エラー:. pathspec'README.txt'didnotmatchanyfile(s)は、 "役割=" プレゼンテーション「をknowntogit> //はgitのから回復したいgitcheckoutfileが表示されます:エラー:pathspec'README.txt 「didnotmatchanyfile(S)//はgitのから回復することになるでしょうknowntogit.gitcheckoutfile:エラー:. pathspec'README.txt'didnotmatchanyfile(S)knowntogitのgitの-hard HEADをリセット^ //ファイルの以前のバージョンに戻すには、復元することができます

ファイルシステム内rmfile //ファイルの削除「役割=」プレゼンテーション」> rmfile //あなたを介してチェックアウトすることができますので、それがファイルシステムから削除されるため、//ファイルシステムGitチェックアウトファイル内のファイルを削除して、ファイルシステムのrmfile //内のファイルを削除します回復

$ sshの-keygenは-t rsaの-C「[email protected]」//创建SSHキー

このキー以来、軍事目的に使用されるので、パスワードを設定する必要はありませんので、すべての方法は、ラウンド好きではないが、

成功した場合は、id_rsaとそこディレクトリの.sshを生成し、ユーザusernameディレクトリに2つのファイルをid_rsa.pubファイルします

id_rsaとはプライベートであり、漏れることができない、id_rsa.pubが公開鍵である、あなたはgithubの上の追加のパブリックもある他の人に伝えることができます

GitHubのランディング、「アカウント設定」、「SSH鍵」ページを開き、「SSHキーの追加」をクリックし、任意のタイトルを記入し、キー]テキストボックスにid_rsa.pubファイルの内容を貼り付けます

GitHubには、複数のキーを追加することができます。自宅に提出しているときに限り、各コンピュータのキーはGitHubのに追加されているとして、あなたは内の各コンピュータ上のGitHubにプッシュすることができ、あなたはしばらく提出し、複数のコンピュータを持っていると仮定

リモートライブラリの追加

グローバルコンフィギュレーションを実行します。

gitconfig-globaluser.name「zhangsan」」役割= "プレゼンテーション"> gitconfig-globaluser.name 『zhangsan』 gitconfig-globaluser.name 『zhangsan』 gitの設定-global user.email 『[email protected]

[email protected]:zhangsan / ylez.git // // addoriginは、リモートリポジトリを追加したリモートリポジトリ//[email protected]:zhangsan/ylez.gitを追加することでリモートリポジトリ//[email protected]のアドレスです私たちは、あなたが// gitのサーバーを所有GitLabできるホストのアドレスは、ユーザー名をzhangsanあなたの倉庫///ylez.git名前である「ロール=」プレゼンテーション「> [email protected]:zhangsan / ylez.git / /リモートリポジトリ// addoriginを追加すると、リモートホスト//[email protected]倉庫のアドレスは、我々はあなたがGitのサーバーを所有GitLabできるリモートリポジトリ//[email protected]:zhangsan/ylez.gitアドレスを追加することです//ユーザー名は、あなたの倉庫///ylez.git名前[email protected]さzhangsan:zhangsan / ylez.git // // addoriginがリモートリポジトリを追加するリモートリポジトリ//のgitの@ githubのを追加することです。 COM:zhangsan /リモートリポジトリのylez.gitアドレス//[email protected]ホストアドレス、我々はあなたが所有GitLabできるのgitサーバー// zhangsanユーザー名は、あなたの倉庫名///ylez.gitですGitのプッシュ-u原点マスター//この意志 リモート・マスター・ブランチのマスターブランチにプッシュ

ローカルブランチへの$ Gitのプッシュ-u原点DEV // devのローカルスイッチとリモートのdevのブランチにプッシュ

ローカルにリモートリポジトリのクローンを作成

Gitのhttpsのサポートを含む複数のプロトコル、が、sshのネイティブのgitプロトコルが最速でサポートされています。

$ Gitのクローン[email protected]:zhangsan / test.git //リモートリポジトリローカルのクローンを作成するために話します

各コミット、Gitの点については、彼らがタイムラインをつなぎ合わせ、このタイムラインはブランチです

Gitのでは、デフォルトの主枝、その枝のマスターがあります

現在のブランチのHEADを指し、HEADは厳密に提出するように指示されていない話すが、マスターへのポイントは、マスターは服従のポイントですので、

マスターブランチは、最新の投稿をマスターポイントとライン、Gitのある、そしてHEADをマスターするポイント

各提出、マスターブランチは一歩を移動しますので、あなたが提出し続けるとして、masterブランチラインが長くなっ長くされています

Gitは同じ提出を習得した後、HEADをdevのために指すようにDEV、ポイントと呼ばれるポインタを構築し、それがDEVに現在のブランチを意味し、

gitbranch //すべて表示Gitのブランチ「役割=」プレゼンテーション「> gitbranch //すべて表示Gitのブランチgitbranch //すべて表示支店のgitブランチのdevのgitの//作成のdevの枝

既存のブランチにgitcheckoutdev //スイッチ「役割=」プレゼンテーション「> gitcheckoutdev // gitcheckoutdev //が分岐gitのチェックアウト-b devの//、DEV既存のブランチを作成し、スイッチに切り替える既存のブランチに切り替えdevの枝に

$ Gitのブランチ-d devの//削除のdevの枝

メインブランチに切り替え> gitcheckoutmaster // gitcheckoutmaster //メインブランチに切り替える「役割=」プレゼンテーションは、」masterブランチにメインブランチgitcheckoutmaster // gitのマージDEV // devの枝に切り替えられ

更新d17efd8..fec145a

早送り

README.TXT | 1 +

1つのファイルは、変更1つの挿入(+)

早送り情報は、Gitはこの合併は、「早送りモード」提出現在のDEVを習得するために直接向けられているがあることを教えてくれるので、合併は非常に高速です

$ Gitのブランチ-d devの//削除のdevの枝

今だけです。まだ何も起こらなかった感じ、masterブランチを残り

コンフリクト

$ gitのチェックアウト-b特長1

新しいブランチ「特長1」に切り替え

Readme.txtは、最後の行は読み取り、変更します:

新しいブランチを作成すると、迅速かつ簡単です。

gitaddreadme.txt」役割= "プレゼンテーション"> gitaddreadme.txtgitaddreadme.txtのgitの-mをコミット 『とシンプルな』

[特長1 75a857c]とシンプルな

1つのファイルは、1つの挿入(+)、1つの欠失を変更しました( - )

$ gitのチェックアウトマスター

「マスター」を分岐に切り替え

あなたのブランチはコミット1で先に「起源/マスター」のです。

Gitはまた、自動的に先に提出のリモートブランチにmasterブランチよりも、私たちの現在のマスターを要求します。

以下でmasterブランチreadme.txtファイルの最後の行には:

新しいブランチを作成することは、迅速&簡単です。

gitaddreadme.txt」役割= "プレゼンテーション"> gitaddreadme.txtgitaddreadme.txtのgitの-mをコミット 『&シンプル』

[マスター400b400]&シンプル

1つのファイルは、1つの挿入(+)、1つの欠失を変更しました( - )

$ gitのマージ特長1

自動マージのreadme.txt

CONFLICT(コンテンツ):README.TXTでの競合をマージ

自動マージに失敗しました。紛争を解決し、その結果をコミットします。

$ gitのステータス

分岐マスター上

あなたのブランチは2つのコミットによって先に「起源/マスター」のです。

マージされていないパス:

(「gitの/ RMを追加...」を使用し、必要に応じて解像度マークします)

両方の修正:README.TXT //競合

コミットするために追加の変更はありません(使用「gitの追加」および/または「gitの-aをコミット」)

Gitは、分散バージョン管理システムです。

GitはGPLの下で配布されるフリーソフトウェアです。

Gitは、ステージと呼ばれる可変率を有しています。

Gitは、ファイルの変更を追跡します。

<<<<<<< HEAD

新しいブランチを作成することは、迅速&簡単です。

新しいブランチを作成すると、迅速かつ簡単です。

特長1

Gitは、<<<<<<<、=======でマークされた異なるブランチの内容を>>>>>>>以下のように、我々は変更保存します。

新しいブランチを作成すると、迅速かつ簡単です。

送信:

gitaddreadme.txt」役割= "プレゼンテーション『固定紛争"> gitaddreadme.txtgitaddreadme.txtのgitのは、-mをコミット』

[マスター59bc1cb]コンフリクト固定

また、パラメータを使用してgitのログとブランチの統合を見ることができます:

gitlogグラフ-かなり=としてoneline-略称コミット」役割= "プレゼンテーション"> gitlogグラフ-かなり=としてoneline-略称?commitgitlogグラフ-かなり=としてoneline-略称?コミットgitのログ-graph -pretty =としてoneline -abbrev-コミット

固定* 59bc1cbの競合

| \

| * 75a857cとシンプルな

* | 400b400&シンプル

| /

* fec145aの分岐テスト

...

特長1枝を削除します。

$ gitのブランチ-d特長1

削除された分岐特長1(75a857cありました)。

枝をマージする場合、通常、可能な場合は、Gitは早送りモードを使用していますが、このモードでは、ブランチを削除します、ブランチは、情報を失うことになります。

あなたは無効に早送りモードを強制したい場合は、Gitはマージに新しいコミットを生成しますので、分岐履歴からの情報は、枝の上に見ることができます

$ Gitはマージする-no-FF -m "コメント" DEV // devのブランチをマージし、-no-FFパラメータの点に注意してください。早送りを無効にしてください

$ Gitのログ-graph -pretty =としてoneline //グラフィック表現の分岐を-abbrevコミット

* NO-FFと合併7825a50

| \

| * 6224937追加マージ

| /

固定* 59bc1cbの競合

...

バグを修復する作業、コードネーム101は、あなたがそれを修正するために分岐問題-101を作成したいということが自然である場合には

手が作業を完了していないが、進捗状況を提出することができないときのバグを修正中で凍結することができます

あなたの現在の作業領域で(ブランチ)

//現在のブランチの変更を凍結$のGitのスタッシュ

すべてのスタッシュを参照してください。

gitstashlist //リスト現場保存のすべての「役割=」プレゼンテーション「> gitstashlist //リスト現場ストレージgitstashlist //リストのすべての現場保存のgitスタッシュリストのすべて

スタッシュ@ {0}:DEVにWIP:6224937追加マージ

gitstashapply(スタッシュ@ n)が作業現場を再開//(とき後者は、指定されたスタッシュを復元することができるよりも多くがある場合にのみ、1は、省略することができる)が、店のスタッシュ「役割=」プレゼンテーション「を削除しません> gitstashapply(スタッシュ@n)作業現場を再開//(一方のみを省略することができる場合、後者、1は(一つだけ指定されたスタッシュを復元することができます)が、作業現場を再開// stashgitstashapply(スタッシュ@ nの)ストアは削除されません以上が存在する場合後者は、1つのスタッシュために回収することができる複数存在する場合、省略することができる)が、スタッシュGitのスタッシュ降下(スタッシュ{N} @ストア)を削除しない場合//省略することができる(保存されたワークサイトを削除する場合にのみ背中、そしてあなたが複数の削除を指定した場合)

$ Gitのスタッシュポップ(スタッシュ@ {n}は)//スタッシュの内容を復元することも、(場合、後者のみを省略することができますが、複数の削除を指定した場合)は削除されている間

gitbranch-dbranchName //(マージ)のブランチで提供枝を、削除して、分岐農産物のメインブランチがマージされた「役割=」プレゼンテーション「> gitbranch?dbranchNameは//ブランチを削除し、支店で提供そしてgitbranch(マージ)のブランチのメインブランチがマージされている生成?dbranchNameは//ブランチで提供枝を、削除して、分岐農産物のメインブランチがマージされました(マージ)Gitのブランチ-D branchNameは//削除しますかかわらず、合併がの削除を強制するかどうかの支店、

リモートリポジトリからクローンを作成すると、実際には、Gitは自動的協会の支店およびリモートのmasterブランチを習得し、遠隔倉庫のデフォルト名は、原点です。

Gitのリモートでリモートリポジトリの情報を表示するには:

$ gitのリモート

原点

代替的に、より詳細な情報の表示は、リモート-vをGitリポジトリ閲覧します:

$ gitのリモート-v

原点[email protected]:michaelliao / learngit.git(フェッチ)

原点[email protected]:michaelliao / learngit.git(プッシュ)

ないローカルブランチをリモートプッシュを取る必要があり、その後、何がそれを必要としない枝を、プッシュする必要がありますか?

マスターブランチはとても遠隔時刻と同期されるように、メインブランチです。

DEV分岐は開発ブランチである、それはリモートで同期させる必要があるので、すべてのチームメンバーは、その上で動作する必要があります。

上司が最後に毎週いくつかのバグ修正をあなたを見たいと思っていない限り、バグのための分岐バグ修正はローカルでのみ、リモートにプッシュする必要はありません。

機能ブランチは、あなたとあなたの小さなパートナーがそれを開発するかどうかに応じて、リモートにプッシュすることが期待されます。

ときにプッシュあなたがプッシュする必要があり、前に誰かがプッシュが失敗した場合

[email protected]:michaelliao / learngit.git [拒否] DEV-> DEV(非早送り)エラー:! failedtopushsomerefsto'[email protected]:michaelliao / learngit.git'hint:Updateswererejectedbecausethetipofyourcurrentbranchisbehindhint:itsremotecounterpart.Mergetheremotechanges( eg'gitpull「)ヒント:beforepushingagain.hint:Seethe'Noteaboutfast-forwards'in'gitpush-help'fordetails最新のあなたの小さなパートナーを提出し、紛争をプッシュ提出しようとするため、解決策は単純で、Gitは持っています。思い出させてくれる、最初の最新gitpullで、地元の合併では、その後、ダウン起源の/ devからの紛争解決をキャッチを提出し、それらを押し上げる「役割=」プレゼンテーション「> [email protected] :! michaelliao / learngit.git [拒否] DEV> DEV(非早送り??)エラー:? failedtopushsomerefsto'[email protected]:michaelliao / learngit.git'hint:Updateswererejectedbecausethetipofyourcurrentbranchisbehindhint:itsremotecounterpart.Mergetheremotechanges(eg'gitpull「)ヒント:beforepushingagain.hint:Seethe'Noteaboutfast?Forwards'in'gitpush-help'fordetails。最新のあなたの小さなパートナーを提出し、紛争をプッシュ提出しようとすると、解決策は単純なので、Gitはgitpullから最新の提出を使うために私たちを求めています原産地では、/ devの下にキャッチし、その後、地元の合併、紛争解決、中および[email protected] :! michaelliao / learngit.git [拒否] DEV>のdevのエラーを、それらを押し上げ(非早送り??):?failedtopushsomerefsto'git @ githubの.COM:michaelliao / learngit.git'hint:Updateswererejectedbecausethetipofyourcurrentbranchisbehindhint:itsremotecounterpart.Mergetheremotechanges(eg'gitpull「)ヒント:beforepushingagain.hint:Seethe'Noteaboutfast forwards'in'gitpush-help'fordetails最新のは、あなたの小さなパートナーを提出しているため?。 Gitは、私たちが求めている、あなたがプッシュする紛争を提出しようとすると、解決策は単純で、まず最新のgitpullで地元の合併、紛争解決に、そして、ダウン起源の/ devからキャッチを提出し、gitのプル//キャッチし、それらを押し上げ地元に提出するリモートブランチDEV(??非早送り)エラー:failedtopushsomerefsto'[email protected]:michaelliao / learngit.git'hint:Updateswererejectedbecausethetipofyourcurrentbranchisbehindhint:itsremotecounterpart.Mergetheremotechanges(eg'gitpull「)ヒント:beforepushingagain.hint:Seethe'Noteaboutfast forwards'in? 「gitpush-help'fordetails。最新のあなたの小さなパートナーを提出し、紛争をプッシュ提出しようとするため、解決策は単純で、Gitは私たちを求めている、最初の最新gitpullでダウン起源の/ devからキャッチを提出し、その後、地元の統合、紛争解決、およびリモートブランチのgitプル//逮捕され、ローカルに提出し、それらを押し上げる中DEV(??非早送り)エラー:failedtopushsomerefsto'[email protected]:michaelliao / learngit.git'hint:Updateswererejectedbecausethetipofyourcurrentbranchisbehindhint:itsremotecounterpart.Mergetheremotechanges(eg'gitpull「)ヒント:beforepushingagain.hint:Seethe'Noteaboutfast forwards'in? 「gitpush-help'fordetails。最新のあなたの小さなパートナーを提出し、紛争をプッシュ提出しようとするため、解決策は単純で、Gitは私たちを求めている、最初の最新gitpullでダウン起源の/ devからキャッチを提出し、その後、地元の統合、紛争解決、およびリモートブランチのgitプル//逮捕され、ローカルに提出し、それらを押し上げる中

ローカルのdevの枝やリンクのリモート起源の/ devブランチ、プッシュは失敗しませんので、まず私たちは、あなたの地元の支店やリモートブランチに連絡確立する必要があります

$ Gitのブランチ-set-上流devの起源は/ dev // devが支店やリモートブランチのdevの連絡先を確立します

支店devが原点からリモートブランチDEVを追跡するように設定しました。

要約:

見るリモートデータベース情報、gitのリモート-vを使用します。

リモートをプッシュしていない場合は、新しいローカルブランチは、それは他の人には見えません。

プッシュプル提出新しいgitのでリモートをつかむために失敗した場合、Gitのプッシュ原点支店名を使用してローカルブランチからプッシュ。

Gitのチェックアウト-b分岐名元/支店名を使用して、対応するリモートブランチとローカルブランチを作成し、ローカル及びリモートブランチの名前は、好ましくは同じです。

Gitのブランチ-set-上流分岐名前の由来/支店名を使用して、ローカルブランチおよびリモートブランチに関連します。

競合がある場合、我々は最初の紛争に対処しなければならない、gitのプルを使用して、リモートブランチからグラブ。

あなたはバージョンを公開すると、それが一意にタグバージョンをプレイする瞬間を識別するように、我々は通常、最初に、リポジトリ内のタグを作ります。

将来的には、ラベルのバージョンを取るたびに、取り出した時にタグ付けされます歴史のバージョンがあります。したがって、ラベルは、リポジトリのスナップショットです。

ラベルには、Gitのリポジトリのスナップショットですが、実際にそれが瞬時あるタグを作成、削除、(右のような支店を持つ?しかし、枝が移動することができ、ラベルを移動することはできません)コミットへのポインタである、そう。が、

ラベルは、一般的にmasterブランチをヒットしています

gittagv1.0 //現在のバージョンの名前を作るにはv1.0ののHEADタグ「役割=」プレゼンテーション「である> gittagv1.0 // HEADタグの現在のバージョンのv1.0のための名前を作るgittagv1.0 //現在のバージョンに名前を作ることはv1.0のHEADタグgitのタグである//すべてのタグを見る、ラベルは、名前のすべてが一覧表示されます

タグの履歴を再生するコミット(そして時には戦いにタグを付けることを忘れすることは考えて月曜日から金曜日の結果だったかもしれません)

$ gitのログ-pretty =としてonelineの-abbrevコミット

6a5819eはバグ修正101を吸収合併しました

cc17032修正バグ101

7825a50なし-FFと合併

6224937追加マージ

59bc1cbの競合が固定します

400b400&シンプル

75a857cとシンプルな

fec145aの分岐テスト

d17efd8のtest.txtを削除

59bc1cbをコミットするIDをコミットする$ Gitのタグv0.8の59bc1cb // ...ラベルには、v0.8をマーク

タグは、アルファベット順ではなく、時系列順に表示されていません。あなたは、ラベルの情報を表示するには、gitのショーを使用することができます

また、指定したタグ名-aで、命令でラベルを作成し、-mキャプションを指定することができます。

$ // 3628164 3628164をGitのタグ-a v0.1の-m「をリリースしたバージョン0.1」は...コミットマークされたv0.1のラベル視線コンテンツのIDをコミットすることですが、バージョン0.1がリリースされます

gittagv0.1 //テキストラベルなどの情報を表示することができますが、プライベート-s署名ラベルで使用することができます:「ロール=」プレゼンテーション「> gittagv0.1 //ことができますが、また、sはテキストラベルなどの情報を表示することができますか?秘密鍵署名ラベルで:gittagv0.1 // fec145aも秘密鍵署名ラベル:? gitのタグ-s v0.2デベロッパー-mとS「のバージョン0.2がリリース署名」できるテキストラベルなどの情報を表示することができます

署名を使用してPGP署名は、それゆえ、あなたが最初のgpg(GnuPGの)をインストールする必要がありますGPG、または全くGPGキーのペアを見つけていない場合は、エラーは次のようになります。

GPG:署名に失敗しました:秘密鍵が利用できません

エラー:GPGは、データに署名することができませんでした

エラー:タグに署名することができません

エラーが報告された場合、ヘルプドキュメントのGnuPG構成キーを参照してください。

Gitのshowコマンドは、PGP署名情報を見ることができます:

$ gitのショーv0.2デベロッパー

gittag-dv0.1 //タグのv0.1のを削除し、 "役割=" プレゼンテーション「> gittag?はdv0.1 //ラベルv0.1gittag?dv0.1 //タグを削除v0.1のgitのプッシュ-u原点v1.0のを削除します//タグv1.0のは、リモートリポジトリにプッシュされます

$ Gitのプッシュ-u起源 - タグ//プッシュするすべての時間ラベル

タグは、リモート、リモートタグにプッシュされている場合は、ローカル起動、削除、少しトラブルを削除します:

$ Gitのタグ-d V0.9

削除されたタグ 'V0.9'(6224937でした)

次に、リモートから削除します。コマンドを削除してもプッシュしますが、形式は次のとおりです。

$ gitのプッシュ原産地:レフリー/タグ/ V0.9

michaelliao / learngit.git:[email protected]

- V0.9 [削除]

あなたのGitのワークスペースのルートディレクトリに特別なファイルを作成し.Gitignore、その後、塗りつぶしにファイル名を無視するように、Gitは自動的にこれらのファイルを無視します

ファイル原理は無視:

オペレーティングシステムは自動的なサムネイルなどのファイルを、生成された無視してください。

コンパイラによって無視のような、ファイルが自動的に自動的にリポジトリにファイルが生成され、別のファイルによって生成された場合、すなわち、等の中間ファイル、実行可能ファイルを生成する必要はないのJavaファイルが生成された.classコンパイル。

このような構成ファイルに保存されたパスワードなどの機密情報を使用して独自の設定ファイルを、無視します。

完全なファイル.gitignore

Windowsの場合:

Thumbs.db

ehthumbs.db

Desktop.ini

プロジェクト

*。クラス

*。戦争

クラス

ターゲット

まず、最新のコードをチェックアウトすることはgitからメインブランチのチェックアウトコードのデフォルトのmasterブランチであるので、我々は再びコードの開発ブランチをチェックアウトする必要があります

DEVブランチは、最新の開発版である一方、マスターブランチは、最新の安定版であります

私たちは、あなたが前の2つのステップで新機能を行う場合、ローカルブランチdev内の新しいサブブランチをチェックアウトし、代わりにサーバからローカルchecoutに新しいブランチを作成するために覚えておく必要があります

その後、開発、devのサーバーにコードをプッシュする合併を提出します。

おすすめ

転載: www.cnblogs.com/zhichao123/p/11448495.html