なぜgit

私はVCSについて何も知らず、それが何であるか、さらには何も知らなかったので、なぜそれが必要なのかがありました。 そして、彼の業績に加えて、彼はバージョンアーカイブを持つパパと考えました。 バージョン管理システムの必要性に気付いた頃には、すでにそのようなツールの必要性を感じていました。 しかし、CVSのBorland版は私を感心させませんでした。 各ファイルには独自のバージョン番号があります。 特定のリリースのスライスを入手するにはどうすればよいのか、まだわかりません。 一方、SVNは意欲的に開発者の心を通過しました。 くそー、それは私がとても逃したものでした。 ドックを読んで仕事を始めた後、私はちょうど彼女に恋をした。 はい、困難と不便がありましたが、それらはほとんどありませんでした。

だから私はSVNで仕事をしますが、まだ何も残っていません。 Gitニュースの細いストリームは、すでにインターネット上で流れています。 私はすべての新しいテクノロジーを急いでいるわけではありません。すべての脳がこのGitで私を騒ぎ立てる前に、かなり長い時間が経ちました。 私は好奇心が強く、最初はよく見て、試着してから、Gitで新しいプロジェクトを始めました。 私は2週間、男たちに苦しめられ、文献を汲み上げ、チートシートを書きました...何も、彼らはそれに慣れませんでした...そして、私は浸水しました。



現在、私は定期的にGitとその内容について話すように求められています。 すでに疲れているので、この投稿はまだ疑っている人向けです。





すべてがローカルです

リポジトリ、履歴、ブランチ、コミット。

これから2つの重要な結果が得られます。すべてが非常に高速であり、2つ目はリポジトリを完全に制御できることです。



制御

Gitでは、コミットと履歴を使用して何でもできます。 支店: これはここで非常によく説明されています: http : //gq.net.ru/2009/12/16/ git-history-rewrite /

そのような機会から頭を痛め、 一部の人にとっては危険すぎるように思えるかもしれません。 はい、私は経験の浅い操作のためにコミットを数回失い、その後「バスケット」を駆使してそれらを復元しました。

しかし、それに慣れ、それがどのように、どのように機能するかを理解すると、翼が成長し、はるかに効率的に働き始め、これから多くの喜びを得ることができます。







Gitはブランチです。 すべてがブランチで実行されるように、非常にシンプルで柔軟かつ便利です。 リリースから小さなタスクまで。



コミットする

コミットを行うには、そこに置く必要がある変更を正確に指定する必要があります。 ファイルではなく変更。 変更されたファイルと新しいファイルの両方に対して、「Git add」を呼び出す必要があります。 このようにして、一時的な状態が準備されます。これを「一時的なコミット」と呼びます(元の「ステージング領域」または「インデックス」)。

利点は何ですか:



Difとログ

通常、ログは機会の深isです。





スタッシュ

私はタスクに取り組んでおり、プロジェクトを部品に分解しました。ここで、すべてをドロップし、バグを修正するかレビューを行うために別のブランチに切り替える必要があります。 編集内容を一時的な状態(スタッシュ)で保存し、切り替え、必要なすべての操作を行い、戻って編集内容を復元し、作業を続行します。





バイセクト

エラーが発生したコミットを検索するコマンド。 私は、このエラーがそうでないことを確信しているコミットを示します。 そして、このエラーが既に存在する場所でコミットします。 次に、バイナリ検索を使用して、Gitは検証のためにコミットを選択し、それに切り替えて、エラーがあるかどうかを回答します。 間違ったコミットが見つかるまで続きます。 可能であれば、エラーを自動的にチェックして適切なコードを返すスクリプトを作成できます。 このスクリプトを二等分し、編集を中断します。





git-svn-地下にいる人向け

Gitでローカルに作業し、SVNでコミットできます。 あなた自身があなたの幸せな人相を循環させないならば、誰も推測しません。 仲間のアンダーグラウンドワーカーと簡単にチームを組み、リポジトリからブランチや編集を共有できます。





サブモジュール

Gitを使用すると、プロジェクトに他のプロジェクトを含めることができます。 それらはサブモジュールとして接続されます:

   $ git submodule add git://github.com/maxim-oleinik/sfDoctrine2Plugin.git plugins / sfDoctrine2Plugin


Gitは「plugins / sfDoctrine2Plugin」ディレクトリを作成し、そこに別のリポジトリをデプロイし、リビジョンハッシュを制御します。 このディレクトリに移動すると、別のプロジェクトに入ります。 そこで、通常どおりに作業してコミットできます。親プロジェクトGitでのみ、サブプロジェクトが更新されたことを示し、新しいコミットへのリンクの保存を提案します。



GUIとコンソール

正直なところ、GUI Gitの種類はわかりません。 私はそれを使ったことがないので、コンソールでGitを使って作業する喜びを奪わないことをお勧めします。 コンソールでコマンドを入力するだけでなく、インターフェイスで正しいボタンやチェックマークを探している猿にならないでください。

さて、犯罪はありません。 コンソールでの作業がより豊かで便利であると言いたかっただけです。

通常のコンソールを持っていない人...さて、GUI、IDE、または...このコンソールを持つOSを選択してください。

私が定期的に使用する唯一のウィンドウはgitk -all&です。 ブランチとタグを含むコミットツリーを示しています。 あなたが今どこにいるのか、どの枝がどこにあるのか、どのように絡み合っているのかを見るのはとても便利です。 簡単な検索とブラウズの差分があります。





チームワーク



Github

これは、リポジトリを無料で投稿および公開できるクールなプラットフォームです。 分岐、開発、議論する多くのプロジェクトが存在する場所。 これですべてのプロジェクトが完了しました。

オープンソースプロジェクトとアクセスをブロックするために月200ルーブル/月は無料です。







もちろん、これはGitでできることとはほど遠いものです。 まだ伝えていないことや、まだ知らないことはたくさんあります。 基本的なポイントを強調してみました。

もちろん、Gitにはいくつかの不利な点と困難がありますが、Gitがない場合はありません。 はい、それらは重要ではありません。 ほとんどの場合、これはgit-wayの質問です。

確かに、Gitには深刻なマイナスが1つあります。それは怠け者向けではありません。 そのような人にGitを提供する前に、事前に考えてください。



次は何ですか



次に-作業を開始します。 たくさんのレビューを読んで、好きなだけ議論することができますが、仕事を始めるまで何も変わりません。

ある日、私はドックを駆け回って仕事を始め、2週間慣れ、1か月で残りを教え、3分間で翼を広げました。



始め方

  1. ダウンロード、インストール、構成、誰も問題はないと思います。 設定やその他のチップに関するこのブログの記事をご覧ください。
  2. 以下のリストから本を読んでください。 本当だ、読んで。 斜めではありますが、一般的な内容はわかります。 これは数時間で簡単に行えます。
  3. そして、新しいプロジェクトで作業を開始するか、既存のプロジェクトを転送します(インポートは難しくありません)。
チームを初めて支援するチートシートがあります。 「git help <コマンド>」があります。 怠け者にならず、各新しいチームのヘルプを定期的に読んだ後、読んで再読することをお勧めします。 だから、可能性、微妙さ、ニュアンスのほとんどを学びました。

はっきりしない場合は、書いてください。 私にとって明らかなことは、初心者にはわからないことを理解することは私にとって非常に困難です。 2番目の記事については、そうではありません。



参照:




All Articles