開発者ドキュメント

Gitの使用方法:リファレンスガイド

Gitチートシート

序章

開発者とオープンソースソフトウェアメンテナのチームは通常、コラボレーションをサポートする分散バージョン管理システムであるGitを介してプロジェクトを管理します。

このチートシートスタイルガイドは、Gitリポジトリでの作業と共同作業に役立つコマンドのクイックリファレンスを提供します。 Gitをインストールして構成するには、「オープンソースに貢献する方法:Git入門」を必ずお読みください。

このガイドの使用方法:

セットアップと初期化

次のコマンドを使用してGitのバージョンを確認します。これにより、Gitがインストールされていることも確認されます。

  1. git --version

Gitを使用すると、ローカルマシン上のすべてのリポジトリに適用されるいくつかの設定を構成できます。 たとえば、Gitがローカルリポジトリに加えた変更をクレジットするために使用するユーザー名を構成します。

  1. git config --global user.name “firstname lastname

各履歴マーカーに関連付ける電子メールアドレスを構成します。

  1. git config --global user.email “valid-email

好みのテキストエディタも設定します。

  1. git config --global core.editor “nano

現在の作業ディレクトリをGitリポジトリとして初期化できます。 init:

  1. git init

リモートでホストされている既存のGitリポジトリをコピーするには、次を使用します git clone リポジトリのURLまたはサーバーの場所を使用します(後者の場合は、 ssh):

  1. git clone https://www.github.com/username/repo-name

現在のGitディレクトリのリモートリポジトリを表示します。

  1. git remote

より詳細な出力については、 -v 国旗:

  1. git remote -v

Gitアップストリームを追加します。これはURLにすることも、サーバーでホストすることもできます(後者の場合は、 ssh):

  1. git remote add upstream https://www.github.com/username/repo-name

演出

ファイルを変更し、次のコミットに進むようにマークを付けると、そのファイルはステージングされたファイルと見なされます。

追加された、ステージングされていないファイルやステージングされているファイルなど、Gitリポジトリのステータスを確認します。

  1. git status

変更されたファイルをステージングするには、 add コマンド。コミット前に複数回実行できます。 次のコミットに含める後続の変更を行う場合は、実行する必要があります add また。

特定のファイルを指定できます add:

  1. git add my_script.py

. で始まるファイルを含む、現在のディレクトリ内のすべてのファイルを追加できます。 .:

  1. git add .

現在のディレクトリ内のすべてのファイルとサブディレクトリ内のファイルを追加する場合は、 -all また -A 国旗:

  1. git add -A

作業ディレクトリ内の変更を保持しながら、ステージングからファイルを削除できます。 reset:

  1. git reset my_script.py

コミット

更新をステージングすると、それらをコミットする準備が整います。これにより、リポジトリに加えた変更が記録されます。

ステージングされたファイルをコミットするには、 commit コミットを追跡できるように、意味のあるコミットメッセージを指定してコマンドを実行します。

  1. git commit -m "Commit message"

追跡されたすべてのファイルを1つのステップでコミットすることにより、それらのステージングを凝縮できます。

  1. git commit -am "Commit message"

コミットメッセージを変更する必要がある場合は、 --amend 国旗:

  1. git commit --amend -m "New commit message"

ブランチ

Gitのブランチは、リポジトリ内のコミットの1つへの移動可能なポインターであり、作業を分離し、機能の開発と統合を管理することができます。 Gitのドキュメントを読むと、ブランチの詳細を知ることができます。

現在のすべてのブランチを branch 指図。 アスタリスク(*)現在アクティブなブランチの横に表示されます:

  1. git branch

新しいブランチを作成します。 新しいブランチに切り替えるまで、現在アクティブなブランチに留まります。

  1. git branch new-branch

既存のブランチに切り替えて、現在の作業ディレクトリにチェックアウトします。

  1. git checkout another-branch

新しいブランチの作成とチェックアウトを統合するには、 -b 国旗:

  1. git checkout -b new-branch

ブランチ名の名前を変更します。

  1. git branch -m current-branch-name new-branch-name

指定したブランチの履歴を、現在作業しているブランチにマージします。

  1. git merge branch-name

競合がある場合は、マージを中止します。

  1. git merge --abort

マージする特定のコミットを選択することもできます cherry-pick 特定のコミットを参照する文字列を使用します。

  1. git cherry-pick f7649d0

ブランチをマージし、ブランチが不要になったら、次のように削除できます。

  1. git branch -d branch-name

ブランチをmainにマージしていないが、それを削除したい場合は、ブランチをforce削除できます。

  1. git branch -D branch-name

コラボレーションと更新

リモートアップストリームなどの別のリポジトリから変更をダウンロードするには、次を使用します fetch:

  1. git fetch upstream

フェッチされたコミットをマージします。 一部のリポジトリはを使用する場合があることに注意してください master それ以外の main:

  1. git merge upstream/main

ローカルブランチコミットをリモートリポジトリブランチにプッシュまたは送信します。

  1. git push origin main

トラッキングリモートブランチからコミットをフェッチしてマージします。

  1. git pull

検査

現在アクティブなブランチのコミット履歴を表示します。

  1. git log

特定のファイルを変更したコミットを表示します。 これは、ファイルの名前変更に関係なく、ファイルに従います。

  1. git log --follow my_script.py

一方のブランチにあり、もう一方のブランチにはないコミットを表示します。 これはコミットを表示します a-branch ない b-branch:

  1. git log a-branch..b-branch

参照ログを見る(reflog)ブランチのヒントやその他の参照がリポジトリ内で最後に更新されたのはいつかを確認します。

  1. git reflog

コミット文字列またはハッシュを介して、Git内のオブジェクトをより人間が読める形式で表示します。

  1. git show de754f5

変更を表示

The git diff コマンドは、コミット、ブランチなどの間の変更を表示します。 Gitのドキュメントで詳細を読むことができます。

ステージング領域にある変更されたファイルを比較します。

  1. git diff --staged

内容の差分を表示する a-branch ではありません b-branch:

  1. git diff a-branch..b-branch

2つの特定のコミット間の差分を表示します。

  1. git diff 61ce3e6..e221d9c

プロジェクトからファイルを削除してパスの変更を追跡し、この削除をコミット用にステージングします。

  1. git rm file

または、既存のファイルパスを変更してから、移動をステージングします。

  1. git mv existing-path new-path

コミットログをチェックして、パスが移動されていないかどうかを確認します。

  1. git log --stat -M

隠し場所

コードに変更を加えたことに気付く場合もありますが、終了する前に、別の作業を開始する必要があります。 これまでに行った変更をコミットする準備はまだ整っていませんが、作業を失いたくありません。 The git stash コマンドを使用すると、ローカルの変更を保存して、最新の作業ディレクトリに戻すことができます。 HEAD 専念。

あなたの現在の仕事を隠してください:

  1. git stash

あなたが現在隠しているものを見てください:

  1. git stash list

あなたの隠し場所は名前が付けられます stash@{0}, stash@{1}、 等々。

特定の隠し場所に関する情報を表示します。

  1. git stash show stash@{0}

スタッシュを保持したまま、現在のスタッシュ内のファイルをスタッシュから取り出すには、次を使用します。 apply:

  1. git stash apply stash@{0}

ファイルを隠し場所から取り出したいが、隠し場所が不要になった場合は、次を使用します。 pop:

  1. git stash pop stash@{0}

特定の隠し場所に保存されたファイルが不要になった場合は、次のことができます。 drop 隠し場所:

  1. git stash drop stash@{0}

複数のスタッシュを保存していて、それらを使用する必要がなくなった場合は、次を使用できます。 clear それらを削除するには:

  1. git stash clear

ファイルを無視する

ローカルのGitディレクトリにファイルを保持したいが、プロジェクトにコミットしたくない場合は、これらのファイルを .gitignore 競合を引き起こさないようにファイルします。

nanoなどのテキストエディタを使用して、ファイルをに追加します .gitignore ファイル:

  1. nano .gitignore

の例を見るには .gitignore ファイルについては、GitHubの.gitignoreテンプレートリポジトリをご覧ください。

リベース

リベースを使用すると、ベースとなるコミットを変更することでブランチを移動できます。 リベースを使用すると、コミットを押しつぶしたり、言い換えたりできます。

リベースしたいコミットの数を呼び出すことで、リベースを開始できます(5 以下の場合):

  1. git rebase -i HEAD~5

または、特定のコミット文字列またはハッシュに基づいてリベースすることもできます。

  1. git rebase -i 074a4e5

コミットを破棄または言い換えたら、プロジェクトのアップストリームコードの最新バージョンに加えてブランチのリベースを完了することができます。 一部のリポジトリはを使用する場合があることに注意してください master それ以外の main:

  1. git rebase upstream/main

リベースと更新の詳細については、プルリクエストのリベースと更新の方法を参照してください。これは、あらゆるタイプのコミットにも適用できます。

元に戻すとリセット

を使用して、特定のコミットで行った変更を元に戻すことができます。 revert. これを実現するには、作業ツリーをクリーンにする必要があります。

  1. git revert 1fc6665

リベース後も含めて、作業ツリーをリセットする必要がある場合があります。 次のコマンドを使用して、特定のコミットにリセットし、すべての変更を削除できます。

  1. git reset --hard 1fc6665

最後の既知の競合しないコミットをオリジンリポジトリに強制的にプッシュするには、次を使用する必要があります --force:

警告:メインに強制的にプッシュします(場合によっては master)本当に重要な理由がない限り、ブランチはしばしば眉をひそめます。 独自のリポジトリで作業する場合は慎重に使用し、共同作業する場合はこれを回避するようにしてください。

  1. git push --force origin main

追跡されていないローカルファイルとサブディレクトリをGitディレクトリから削除して、クリーンに動作するブランチを作成するには、次のコマンドを使用できます。 git clean:

  1. git clean -f -d

現在のアップストリームメインブランチのように見えるようにローカルリポジトリを変更する必要がある場合(つまり、競合が多すぎる場合)、ハードリセットを実行できます。

:このコマンドを実行すると、ローカルリポジトリがアップストリームとまったく同じように表示されます。 行ったがアップストリームにプルされなかったコミットはすべて破棄されます

  1. git reset --hard upstream/main

結論

このガイドでは、リポジトリを管理したり、ソフトウェアで共同作業したりするときに使用する可能性のある、より一般的なGitコマンドのいくつかについて説明します。

オープンソースソフトウェアとコラボレーションの詳細については、オープンソース入門チュートリアルシリーズをご覧ください。

Gitでの作業の一部として役立つと思われるコマンドやバリエーションは他にもたくさんあります。 使用可能なすべてのオプションの詳細については、以下を実行して有用な情報を受け取ることができます。

  1. git --help

公式GitWebサイトから、Gitの詳細を読んだり、Gitのドキュメントを確認したりすることもできます。

モバイルバージョンを終了