GitとGithub:完全な初心者のための初心者向けガイド

公開: 2017-08-15

テレビや映画が私たちに伝えていることにもかかわらず、ソフトウェア開発者としての生活には、暗い部屋に座っていること、モニターの輝きだけで照らされているキーボード、他の人間との相互作用の考えは含まれていません。 いいえ、ソフトウェア開発者としての生活は社会的で協力的であり、時には欲求不満になります。 そのため、gitとGithubがあります。

Gitは、チームメートとのコラボレーションを非常に簡単にするバージョン管理ソフトウェアです。最初の学習曲線を超えたら。 それは恐ろしいかもしれませんが、それが私がここにいる理由です!

Gitとは何ですか?

まあ、それは私たち南部人が私たちのポーチからバーミントを撃つ方法だけではありません、私はあなたにそれを言うでしょう。

上で述べたように、Gitはバージョン管理ソフトウェアです。 Linuxを発明したLinusTorvaldsによって作成されました。 gitを使用するためにLinuxを実行している必要はありません。WindowsやMacでも使用できます。

Gitを使用すると、ソフトウェアの開発中に自分とチームが行ったすべての改訂を簡単に追跡できます。 あなたは皆、独立して作業され、その後一緒にマージされるコードの1つのリポジトリを共有します。 また、プロジェクトは各マシンにローカルに保存され、リモート(おそらくGithub)に保存されるため、常に接続する必要はありません。

Gitは特別です(そしてほとんど必須です)。なぜなら、コードの以前のバージョンに戻って、他の人に影響を与えることなく特定の機能を分岐して開発し、その分散性のためにデータ破損からの安全を維持できるからです。

また、簡単に実装できる暗号化とOS間の互換性、および非同期の非線形ワークフローを提供するため、どこにいてもプロジェクトのある側面に取り組むことができます。

基本的に、gitを使用していない場合は、片方の手を後ろで縛ってコーディングしています。

必要な語彙

初めてgitを使い始めたときは、恐ろしいことがあります。 過去にバージョン管理を使用したことがない場合、コマンドと概念はまったく異質に見えるかもしれません。 しかし、あなたはそれらを超高速で拾うでしょう。

リポジトリ:

多くの場合、リポジトリと呼ばれます。 リポジトリは、gitを使用して追跡しているファイルとフォルダーのコレクションです。 リポジトリは、プロジェクトに対するチームの変更の履歴全体で構成されます。 それはあなたとあなたのチームがあなたのコードを投入する大きなオレボックスです。

Github:

gitリポジトリ用の最も人気のあるリモートストレージソリューション。 また、コマンドラインを使用する代わりに、プロジェクトのアクセス許可の設定、バグの追跡と送信、機能要求の受け入れ、リポジトリ通知のサブスクライブ、およびグラフィックインターフェイスの利用を行うことができます。 リポジトリのデフォルトはパブリックですが、有料アカウントはプライベートアカウントを持つことができます。

専念:

これはあなたの仕事を救うことだと考えてください。 リポジトリにコミットすると、その時点で存在するファイルを収集し、タイムカプセルに入れているようなものです。 コミットは、リモートリポジトリにプッシュされるまで、ローカルマシンにのみ存在します。

押す:

押すことは、コミットするバターのパンです。 コミットするとファイルがタイムカプセルにスローされ、プッシュすることでカプセルが宇宙に発射されます。 プッシュとは、基本的にコミットをクラウド(おそらく、Github)に同期することです。 一度に複数のコミットをプッシュすることもできます。 オフラインで作業し、多くの作業をコミットして、その甘くて甘いwifiで文明に戻ったら、すべてをGithubにプッシュできます。

ブランチ:

gitリポジトリはツリーと考えることができます。 稼働するソフトウェアである木の幹は、マスターブランチと呼ばれます。 それがライブになります。 その木の枝は、まあ、枝と呼ばれています。 これらは、メインコードベースから派生したコードの個別のインスタンスです。 単一の機能または実験的なパッチのために分岐する場合があります。 分岐することにより、ソフトウェアの整合性を維持し、完全に厄介なことをした場合に元に戻す方法を得ることができます。 また、チームの邪魔にならずに(またはチームの邪魔にならずに)タスクに取り組むことができます。

マージ:

ブランチが洗練され、バグがなく(少なくともあなたが知る限り)、プライマリコードベースの一部になる準備ができると、ブランチはマスターブランチにマージされます。 マージは、まさにそのように聞こえます。2つのブランチを統合します。 新規または更新されたコードは、コードベースの公式部分になります。 マージの時点から分岐する人は誰でも、その分岐にもこのコードがあります。

クローン:

リポジトリのクローンを作成することは、まさにそのように聞こえます。 オンラインリポジトリ全体を取得し、ローカルマシンに正確にコピーします。 これを行う必要がある理由はいくつもありますが、その中でも特に、新しいチームとのプロジェクトの途中で開始したり、ワークステーションを交換したり、破損したリポジトリからやり直したりする必要があります。

フォーク:

フォークはクローン作成によく似ていますが、ローカルマシンで既存のリポジトリの複製を作成する代わりに、自分の名前でそのコードのまったく新しいリポジトリを取得します。 この機能は主に、既存のコードベースを使用してまったく新しい方向に進むために使用されます。これは、オープンソースソフトウェアで多く発生します。 開発者は、機能する基本的なアイデアを見ていますが、それを別の方法で進めたいと考えています。 フォークはそれが起こることを可能にします。 自分の個人的なサンドボックスのように、別の開発者のリポジトリでプレイすることもできます。 そして、あなたが彼らが好むかもしれないと思う何かをするなら、あなたはそれがマージされるようにプルリクエストをすることができます。

プルリクエスト:

プルリクエストとは、(ブランチまたはフォークのいずれかで)行った変更をリポジトリのマスターブランチにプル(またはマージ)するリクエストを送信することです。 これは大きな時です。 ここで魔法が起こります。 プルリクエストが承認されると、ソフトウェアに正式に貢献したことになり、Githubはあなたが行ったことを永遠に正確に表示します。 ただし、何らかの理由でプルリクエストが拒否された場合、拒否者はリクエストが拒否された理由と、リクエストを受け入れるために何ができるかについてフィードバックを提供できます。

はじめにと必要なコマンド

悪くはなかったですよね?

右。 gitが何であるかが明確になったので、今度は掘り下げて手を汚します。

ただし、この機会に、コマンドラインを使用してgitを操作していることを前提としています。 確かにそこにグラフィカルなGitのクライアントである(そしてGithubのも、あなたはそれのWebインターフェイスを介してほとんどすべてを行うことができます)が、この記事の目的のために我々は彼らを気にするつもりはありません。 ターミナルの外でいくつかのことを行いますが、コマンドラインが新しいBFFになります。 それが私たちも行っていることです。

Gitのインストール方法

Gitは(おそらく)コンピューターにインストールされていないので、そこにインストールする必要があります。 幸い、Linux、Mac、Windowsのいずれを使用していても、gitのインストールは非常に簡単です。

Linuxの場合は、ターミナルを開き、 sudo apt-get install git-allと入力します(Ubuntuを使用している場合。そうでない場合は、他のディストリビューションを使用している場合のすべてのLinuxパッケージインストールコマンドのリストがあります)。

Windowsでは、それは同じように簡単です。 インストーラーをダウンロードして実行します。

Macでは、ターミナルを開いてgitと入力するだけです。 gitがインストールされていない場合は、次のように表示されます。

[インストール]をクリックすると、準備が整います。

見る? 超簡単!

Gitの使用

ここから楽しみが始まります。 gitをインストールしたので、次は… git-r-done! はぁ! しかし、実際には、この驚くべき小さなコマンドラインウィザードの使用を開始する方法を掘り下げて学ぶときです。 そして、Githubよりも開始するのに適した場所は何ですか?

さあ、新しいGithubアカウントに登録してください(または、すでにアカウントをお持ちの場合はログインしてください。すぐにご連絡いたします)。

Githubはパブリックリポジトリでは無料で、プライベートリポジトリは有料で利用できます。 (参考:あまり知られていないが素晴らしい場所であるBitbucketで無料のプライベートリポジトリを入手できます)。 ほとんどの場合、Githubの無料オプションはほとんどの人にとって問題ありませんが(そしてそれは生きた履歴書のようにも機能します!)、一部のクライアントと雇用者はプライバシーとセキュリティを必要とするので、オプションがあるのは良いことです。

その後、最初のリポジトリを設定する準備が整いました。 あなたがあなたの電子メールとそのすべての楽しいものを確認した後。

最初にGithubでリポジトリを設定することをお勧めします。 コンピューターで実行してからアップロードすることもできますが、最初にWebで実行する方が簡単です。

このリポジトリのライセンスや.gitignoreについて心配していないことに注意してください。 これは実際のソフトウェアではないため、これらについて心配する必要はありませんが、本番環境の場合、.gitignoreを使用すると、明らかに、リポジトリのディレクトリ内のファイルを無視できます。 また、ソフトウェアに必要なライセンスについては、こちらをご覧ください。

ただし、プロジェクトの基本的なドキュメントを保持するために使用する必要があるREADMEファイルを使用してリポジトリを初期化しています。 作業中は、大きな変更、やることリスト、さまざまな種類のメモのトラッカーとして使用する傾向があります。 しかし、それは個人的なプロジェクトです。 チームリーダーが異なれば、期待も異なります。

リポジトリがGithubに存在するようになったので、クローンを作成してローカルマシンにリポジトリを取得します。 リポジトリの右側、ファイルリストのすぐ上に、「クローンまたはダウンロード」という緑色のボタンが表示されます。 それをクリックすると、次のように表示されます。

クローンを作成しているので、HTTPSを使用したクローン作成に関する部分を除いてすべて無視できます。 設定する必要はありません。 プッシュするときにユーザー名とパスワードを入力するだけです。

ただし、最初に、リポジトリをローカルマシンのどこに配置するかを設定する必要があります。 ターミナルを開きます。 (Windowsユーザーは、Windows Powershellというプログラムを検索して開きます。また、右クリックして[管理者として実行]を選択することをお勧めします。)

学習する必要のある最初のコマンドはlsです。 これにより、現在のディレクトリ内のすべてが一覧表示されます。 簡単にするために、devフォルダーをコンピューターのホームディレクトリに配置します。 mkdir devを使用して、 devという名前のディレクトリ作成できます。 かなり簡単ですよね? あなたは再びLS場合は、新しいフォルダがリスト表示されます。

次に、ディレクトリ変更のコマンドであるcd devを使用して、新しいディレクトリに移動します。 ほら、コマンドラインはまったく怖くない! 前のディレクトリに戻る必要がある場合は、 cd ...を使用するだけです

あなたの新しいのdevのフォルダの中にいると、このパーティーをgitのためにそれの時間が始まりました。 ヘヘヘヘ。

Githubの緑色の[クローンまたはダウンロード]ボタンをクリックした後に表示されるURLをコピーすることから始めます。 次のようになります: https//github.com/bjk1337/myfirstrepo.git

GithubからGitリポジトリのクローンを作成するコマンド

  • git clone https://github.com/bjk1337/myfirstrepo.git
  • ls
  • cd myfirstrepo –またはリポジトリに名前を付けたもの
  • ls

その後、端末は次のようになり、Githubで設定したREADMEファイルが表示されます。 おめでとうございます! 初めてGitを使用したので、開発を開始する準備が整いました。

ニッティギティざらざらした

マシンにリポジトリがあるので、それを使用する方法を学ぶ必要があります。 それでは、少し早送りして、クールなプロジェクトにしばらく取り組んでいて、ディレクトリにいくつかのファイルがあるとしましょう。 コミットしてGithubにプッシュする時が来ました。

Gitリポジトリへの追加とコミット

  • git status –このコマンドは、次のコミットのためにリストに追加されていないファイルを表示します。 ほとんどのターミナルアプリでは、未追加/追加ファイルはそれぞれ赤/緑になります。
  • gitadd。 –を追加する。 コマンドの最後で、ディレクトリ内のすべてを含めるようにgitに指示しています。 単一のファイルを追加する場合は、そのファイル名を使用するだけです。 関数.phpなど
  • git status –を使用したかどうかによって異なります。 またはファイル名、追加したものはすべて緑色になります。
  • git commit -m「3つの空のファイルを追加する」 –これらのファイルをコミットするときは、チームメイト(または将来の自分)にそのコミットの内容を正確に知らせるための簡単なメッセージも残す必要があります。 標準のgit規則では、できるだけ簡潔かつ具体的にし、動詞の現在時制を使用してメッセージを開始する必要があるとされています。

これで、端末に多くのテキストが含まれるようになり、次のようになります。 しかし今、あなたはそれが何を意味するのかを知っています!

GithubのようなリモートGitリポジトリへのプッシュ

リポジトリへのプッシュはそれよりもさらに簡単です。

  • git status –常にチェックして、状況がどのように見えるかを確認し、正しいブランチにいることを確認する必要があります。
  • git push
  • Githubのユーザー名とパスワードを入力します入力しても、パスワードフィールドは空のままになることに注意してください。 それは大丈夫。 入力してEnterキーを押すだけです。 SSHを使用した場合は、この手順をスキップします。

Githubアカウントにアクセスしてリポジトリを確認すると、ファイルがそこにあり、メッセージなどをコミットできます。

分岐とマージ

分岐とマージに精通している必要がある最後の2つのコマンド。 上で述べたように、ブランチで作業することでメインコードベースが安全に保たれ、変更がすべてダンディになったら、すべてをマージして元に戻すことができます。

彼らは少しトリッキーかもしれないので、彼らを上手にプレイさせるには少しの努力が必要かもしれません。

  • git checkout -b“ branch1” –このコマンドは、タイトルを付ける新しいブランチを作成し、作業ブランチとしてそのブランチに交換します。 これは、1つのコードハンディダンディラインにGitのチェックアウトgitの分岐コマンドの両方を兼ね備えています。
  • touch awesome.html –これは、マスターにマージして戻す新しいhtmlファイルを作成するための単なるフィラーコマンドです。
  • そして、前と同じように、ステータスをgit、git add awesome.html、git commit -m“ create awesome.html”
  • git statusを再度実行すると、すべてが正常であることがわかります。

マージする前にプッシュしようとすると、リポジトリのオリジンを設定する必要があるというメッセージが表示されます。 Originは、コンピューターがリモートリポジトリと見なすものの奇妙な命名規則です。 つまり、基本的には、マスターと同じように、このブランチをGithubにプッシュしても問題ないということです。 これは、 StackOverflowのgitオリジンに関する優れたスレッドです。

これで、branch1 –> branch1に移動したことがわかります。

git checkout masterを使用してmasterブランチに戻すことができます(スワップではなく、新しいブランチの作成時にのみ使用するため、今回はcheckout -bはありません。下のスクリーンショットでコマンドを混同して、 git branchmasterを試しました。マスターがすでに存在していたため、成功しませんでした。

  • git status –いつものように。
  • git merge branch1 –そのブランチのすべてが正常であるため、先に進んでマージできます。
  • ステータスを再度gitすると、1回のコミットでオリジン/マスターよりも進んでいることがわかります。 これは、Githubに加えたすべての変更をプッシュしていないことを意味します。
  • git pushで同期します!

Githubアカウントを確認してください。実行したすべてのことがそこに反映されていることがわかります。 さまざまなコミットメッセージ、作成したブランチとコミットの数、リポジトリへの貢献者とその実行内容も確認できます。

以上です! おめでとう! 基本的なgitワークフローを揺るがしました。 あなたはgitのと道、道、道、これよりもより複雑なものを行うことができますが、これはかなり近いあなただけ...始まっgittingしているとき、あなたはおそらく日常的に使用しますどのようにです。

ああ、もう一つ!

この記事で使用したGithubリポジトリmyfirstrepoはまだ公開されています。 気軽にチェックして、遊んで、フォークして、クローンして、gitの使い方に慣れると思うものなら何でも。 楽しむ! (そして、私と私のすべてのgitしゃれに耐えてくれてありがとう。)

MchlSkhrv /shutterstock.comによる記事のサムネイル画像