序文
社内のチームは最近、小さなPythonのプロジェクトを(Tkinterのでガジェットを達成)立ち上げ、私たちはgitのの使用がどのように同期コード、紛争解決など知らない、精通していないということがわかりました。私はテストエンジニアと思うので、gitのはそうあなたが次のgitの最も一般的に使用されるコマンドと使用を整理支援するために、必要不可欠なスキルである必要があります。
gitの利用シーン
- コードがgitlab(またはgithubの)に提出することができ、インターフェースやUIオートメーションを書く、容易な保守管理。
- あなたは白いボックス用に開発されたコードを引くことができます。
- あなたは、レコードをコミット開発されたコードを確認する予防措置に言及する非開発関連のニーズの時間を提出することができます。
- あなたは、自分の使用を容易にするために、誰か他の人のコードを学習し、GitHubの上でコードを引っ張ることができます。
gitのを使用します
より良い理解を容易にするために、私は別のgitコマンドの使用を導入する特定のシーンと組み合わせて通常の製品開発プロセスを、続く、我々はAとB 2学生と新しいプロジェクトを開発しているとします。
ローカルGitの設定:次のようにAは、B 2人の学生は、ローカルに設定さGITする必要があり、コンフィギュレーション・コマンドは次のとおりです。
:#ユーザー名とgitのメールアドレスを設定 $ gitの設定 --global user.name " XXX " $ gitの設定 --global user.email " [email protected] " #設定SSH - キー、その後、すべての方法ラウンド のssh-keygenのを RSA -C -t " [email protected] "
ここで説明するSSHキーは、ssh-keygenはgitのツールを運んでいる、上記のコマンドは、ラウンドのすべての方法を行い、id_rsaとは、の〜/ .ssh /ディレクトリにid_rsa.pubファイル生成されます。名前よると、私たちはそのエンディング.pubファイルが公開されて見ることができ、私たちはその後、gitlabするように設定します;とid_rsaとはプライベートで、あなただけのローカルがあるでしょう。あなたは簡単にコードを同期できるように、アクセスgitlabサーバ(ここでは、複数のssh-キーを設定する方法が導入されていない、私たちは問い合わせを所有することができます)、公開鍵と秘密鍵の役割にパスワードを必要としないときです。
プロジェクトを[作成]:学生は、このような呼び出しPROJECTAなどの新しいプロジェクトを作成する(githubの、企業は一般的に、自分のgitlabを構築している)gitlab最初に行きました。実際には、愚か者の作成の比較方法、ちょうどgitlabにログインし、あなただけの罰金操作することで、その後のエントリ「新規プロジェクト」を、見ることができます。
[初期化プロジェクト]:学生が最初にそのようなディレクトリとして、(初期化コードの一部として生成された)自分のプロジェクトのローカルを初期化します:/ xuanke /コード/ PROJECTAは、コマンドラインウィンドウには、次の順序ですべてのディレクトリの下に(コードディレクトリを入力します。実行)、次のコマンドを実行します。
$ CD / xuanke /コード/ PROJECTA $ gitの初期化 $ gitのリモート起源を追加[email protected]:xuanke / projectA.git $ gitの追加。 $ gitのコミット -mを" 初始化工程" $ gitのプッシュ -u原点マスター
[クローン]ローカルのコード:Bの生徒プロジェクトを開発するために、我々は、ローカルサーバー側のコードに同期gitlabする必要があります。
#同期コード、オプションであり、分岐-bを指定するために使用することができ-b、書いていない- Bを、デフォルトのマスターからコードを引っ張っ $ Gitのクローン( -b DEV)[email protected]:xuanke / projectA.git
[支店]スイッチ:同級生はDEVブランチに切り替えて、枝をでrcするためにリリース、それは、devに私たちの最初の分岐の開発をBの学生に語った、そして最終的にQAブランチをテストするために入れました:
#ハンドオーバブランチ
$ gitのチェックアウトDEV
[コードを送信]:Bの生徒はその後、幸せな心をコーディングを開始するために開かれ、コードが書き込まれた後、gitlabサーバに提出されました:
#コードのコミット $ gitのを追加します。 $ Gitのコミット -m 「今日、私は高速なハードウェア機能を書いた」 コードが引っ張らなければならない前に#のコードを提出する $ gitのプル プッシュ$ gitのを
ここでのポイント:Gitのpushコマンドを実行する前にコミット操作を、gitのは、あなたが安心することができますので、それは、リモートサーバーコードにgitlabには影響しません、ローカルキャッシュで行われます。
[更新コード]:Bの生徒は、高速なハードウェア機能を書くことを学ぶ学生たちは、それを崇拝コードを取得したいです:
#Gitlabサーバ側の同期は、最新のコードを引っ張る
$ gitのプルを
[]競合を解決するには、次の同級生が、コードはBの学生もNiubility.javaファイルを変更することが発見された更新し、更新が失敗した、迅速なコードの競合、Shuangwai下を。慌てる必要はありません。しかし、私はおそらく紛争の和解の下で基本的な考え方をまとめました。
紛争解決の#方法 #1 。最初に衝突したファイルを見つけ、Gitはあなたにどのファイルの競合を促すメッセージが表示されます。競合ログ(のreadme.txt競合が促さ)の期間、インターネットからプル: $ gitのは特長1マージ オート - のreadme.txtマージ CONFLICT(コンテンツ):マージ紛争中のreadme.txt 自動マージに失敗しました。競合を修正し、その後、インクルードは結果にコミットします。 #2。<<<<<検索、readme.txtファイルを開く場所を。グローバル検索であってもよい Gitは分散型制御システムのバージョンです。 GitはIS 無料GPLの下で配布するソフトウェア。 Gitのインデックスはステージと呼ばれる可変持っています。 Gitはファイルの変更を追跡します。 <<<<<<< HEAD 新しい新しいブランチを作成するには、クイックIS&シンプル。 ======= 作成新しい新しい支店が迅速かつ簡単ですが。 >>>>>>> 特長1 #3。HEADと======== ==間のローカルコードの我々の現在の代表を========特長1ためのコードの先端の代表との間に、我々は、状況のタイミングに応じてコードを編集します。しかし、最終的に我々は======= <<<<<<< >>>>>>>に必要なこれらは削除されます。そのようなそのように修飾します。 Gitは分散バージョン管理システムです。 GitはIS 無料GPLの下で配布するソフトウェア。 Gitがステージと呼ばれる可変率を有している。 Gitはファイルの変更を追跡します。 新しい新しい支店が迅速かつ簡単です作成。 #。4 もう一度コードを提出:. $ Gitのコミット -m 「コード違反を解決するための」 プッシュgitの$
[特定の文書を提出無視]:同級生は、あなたがコードを送信するたびに、IDEプロファイルを提出されることがわかった、としばしば対立と同じプロファイルBの学生、実際には、プロジェクトディレクトリに.gitignoreファイルを追加することによって達成することができます。
例えばPythonのファイルに#、: * の.py [COD] * .soは * .egg * .egg- 情報 のdist ビルド
あなたがファイルを無視したい場合我々は、ここでの方法を説明しますが、ファイルには、サーバーをgitlabに提出されました、そしてどのようにそれを行うには?最初のファイルは、ローカルキャッシュのgitから削除して、サーバーに送信することができますアウトgitlabから削除することができます。
#ローカルのgitからのファイルfileNameバッファの削除 $ GitのRM --cachedファイル名を
併用ブランチ]:A、Bの生徒は現在、4つの分岐の合計です:DEV、QA、RC、マスター、そして今、彼らはコードを開発したが、QA測定を言及するのブランチにマージする必要があり、どのように動作しますか?
#まず、QAブランチへの切り替え
の$ GitのチェックアウトQAの
競合がある場合は、2番目の#は、合併支店コードの実装は、上記の紛争解決プロセスを参照してください。
$ gitのマージDEV
[]他の一般的に使用されるコマンド:すでに基本的なコマンドの上に覆いGitは仕事で使用して、以下の他の一般的に使用されるコマンドのいくつかを整理されることがあります。
#は、地元の状況で表示できます。ファイルを変更した提出書類を、修正するかどうかを、など $ gitのステータス #は提出歴史的な記録を見る $ gitのログ $ gitのログ --author = 「xuanke 」 #は、ストリップの枝になります提出し、現在のブランチにマージ。(これはあまり使用され、いくつかの開発者が使用していないと推定されている。) $ Gitの桜は - IDの提出選び 、これが注意払うべき#秋の前に戻ってバージョンをローカルの変更を削除する $ gitのにRESET - ハード #ローカルを削除します分岐 $ gitのブランチ - DのDEV #スイッチとブランチを作成し、主要なプラス - Bパラメータ $のGitチェックアウト -b DEV
概要
- 上記の最も一般的に使用されるのgitコマンドについて説明し、これらの基本的な理解は十分です。しかし、毎日の仕事は、簡単に、完璧になりますので、実際にとして、マルチユースでなければなりません。
- またここでも下、読んでいない場合でも、gitのためのコードを開発するための許可を求めるようにしてください、しかし、あなたは何を変更し、可能性が提出されているファイルを知ることができますので、少なくとも我々は、測定言及彼らはレコードを提出するたびに見ることができますどのようなインパクト事業。あなただけの学生をテストするために、コードの行は変更されませんでしたを開発することは非常に不合理なことに遭遇する前に言った:「あなたは私にそれについてのテストを与えます。」だから、のgitコマンドの習得を通じて、ある程度の言及私たちの測定の品質を向上させることができます。