Git のカンニング ペーパー
導入
開発者とオープン ソース ・ ソフトウェア開発者のチームは、通常、コラボレーションを支援する分散バージョン管理システム Git を自分のプロジェクトを管理します。
このチート シート スタイル ガイドでは、作業や Git リポジトリ内の共同作業に便利なコマンドのクイック リファレンスを提供します。インストールして Git を構成するには、必ずお読みください「オープンに貢献する方法ソース: Git 入門.”
このガイドを使用する方法。
このガイドは、自己完結型のコマンドラインのスニペットをカンニング シート形式です。
完了しようとしているタスクに関連するセクションにジャンプします。
このガイドのコマンド内のhighlighted textを表示すると、このテキストがコミットされ、独自のリポジトリ内のファイルを参照してくださいことを覚えておいてください。
設定と初期化
Git がインストールされていることを確認、また、以下のコマンドで Git バージョンを確認します。
git –version
initを Git リポジトリとして現在の作業ディレクトリを初期化できます。.
git init
リモートでホストされている既存の Git リポジトリをコピーするには、レポの URL またはサーバーの場所とgit cloneを使用します (後者の場合、使用するssh).
git clone https://www.github.com/username/repo-name
現在の Git ディレクトリのリモート リポジトリを表示します。
git remote
詳細な出力-vフラグを使用します。
git remote -v
上流の Git を追加、URL をすることができますまたはサーバーでホストすることができます (後者の場合、接続にssh).
git remote add upstream https://www.github.com/username/repo-name
ステージング
ファイルを変更したすると、次のコミットで行くためにそれをマークしている段階的なファイルであるそれと見なされます。
チェック ファイルを含む、Git リポジトリのステータス追加上演されていません、ファイルがステージングされます。
git status
変更されたファイルをステージにコミットする前に複数回を実行するaddのコマンドを使用します。次のコミットに含めるその後変更した場合、addを再度実行します。
addで特定のファイルを指定できます。.
git add my_script.py
.で始まるファイルを含む現在のディレクトリのすべてのファイルを追加できます、..
git add .
reset作業ディレクトリ内での変更を維持しながらステージング環境からファイルを削除することができます。.
git reset my_script.py
コミット
あなたの更新を上演している、一度準備ができたら、それらをコミットするリポジトリに加えた変更を記録します。
ステージングされたファイルをコミットするには、ことのコミットを追跡できるように意味のあるコミット メッセージにcommitコマンドが実行されます。
git commit -m “Commit message”
1 つのステップでそれらをコミットするすべての履歴ファイルをステージングを凝縮することができます。
git commit -am “Commit message”
コミット メッセージを変更する場合は、あなたを行うことができます、 –amendフラグ。
git commit –amend -m “New commit message”
Branches
A branch in Git is a movable pointer to one of the commits in the repository, it allows you to isolate work and manage feature development and integrations. You can learn more about branches by reading the Git documentation.
List all current branches with the branch command. An asterisk (*) will appear next to your currently active branch.
git branch
Create a new branch. You will remain on your currently active branch until you switch to the new one.
git branch new-branch
Switch to any existing branch and check it out into your current working directory.
git checkout another-branch
You can consolidate the creation and checkout of a new branch by using the -b flag.
git checkout -b new-branch
Rename your branch name.
git branch -m current-branch-name new-branch-name
Merge the specified branch’s history into the one you’re currently working in.
git merge branch-name
Abort the merge, in case there are conflicts.
git merge –abort
特定のコミットを参照する文字列とcherry-pickとマージする特定のコミットを選択することもできます。
git cherry-pick f7649d0
ブランチをマージしたもはや分岐が必要な場合は、それを削除できます。
git branch -d branch-name
マスターにブランチをマージしていないそれを削除することを確認している場合は、強制的に削除に分岐をできます。
git branch -D branch-name
共同作業し、更新
上流、リモコンなど、別のリポジトリからの変更をダウンロードするには、fetchを使用します.
git fetch upstream
取得したコミットをマージします。
git merge upstream/master
プッシュまたはリモート リポジトリの分岐にローカル ブランチ コミットを送信します。
git push origin master
取得し、任意のコミット追跡リモート ブランチからマージします。
git pull
検査
現在アクティブなブランチのコミット履歴を表示します。
git log
特定のファイルの変更のコミットを示します。これはファイルの名前の変更に関係なくファイルに従います。
git log –follow my_script.py
一方で、1 つのブランチのコミットを示します。これは、a-branch b-branchではコミットが表示されます。.
git log a-branch..b-branch
枝および他の参照のヒントがリポジトリ内で最後に更新されたときに表示する参照ログ (reflog) を見てください。
git reflog
Git にコミット文字列またはハッシュよりわかりやすい形式で経由で任意のオブジェクトを表示します。
git show de754f5
変更を表示します。
git diffコマンドは、コミット、分岐間の変更を示しています。Git のマニュアルを介してそれについて詳しく読むことができます。.
ステージング領域には、変更されたファイルを比較します。
git diff –staged
何a-branchには、 b-branchではないの差分を表示します。.
git diff a-branch..b-branch
2 つの特定のコミットの diff を表示します。
git diff 61ce3e6..e221d9c
スタッシュ
時々 は、いくつかのコードを変更したが、完了する前に何か他の作業を開始する必要があるがわかります。あなたは、これまでに加えた変更をコミットする準備ができていないが、あなたの仕事を失うしたくないです。git stashコマンドをローカルの変更を保存し、に沿って最新のHEADコミットは作業ディレクトリに戻すできます。
あなたの現在の仕事を隠しておきます。
git stash
現在持っていると取り出しを参照してください。
git stash list
あなたの隠し場所の名前なりますstash@{0}、 stash@{1}、などなど。
特定の隠し場所に関する情報を表示します。
git stash show stash@{0}
隠し場所を保持しつつ隠し場所から現在の隠し場所のファイルを引き出すためには、applyを使用し.
git stash apply stash@{0}
Stash からファイルを持参し、隠しておく必要がなくなった場合は、popを使用して、.
git stash pop stash@{0}
不要になった特定の隠し場所に保存されているファイルは、隠し場所にdropことができます。
git stash drop stash@{0}
保存した複数の隠し場所を持ち、それらのいずれかを使用するのに必要がなくなったclearを使用それらを削除することができます。
git stash clear
ファイルを無視します。
あなたのローカルの Git ディレクトリにファイルを保存するプロジェクトにそれらをコミットしたくない場合は、競合を引き起こさないように、 .gitignoreファイルにこれらのファイルを追加できます。
.gitignoreファイルにファイルを追加するのにには、ナノなどのテキスト エディターを使用します。
nano .gitignore
.gitignoreファイルの例を参照してくださいに GitHub の.gitignoreテンプレート レポを調べることができます。.
リベース
リベースに基づいているコミットの変更によって枝を動かすことができます。リベースとスカッシュしたり、コミットの言い回しを変更できます。
いずれかがコミットをリベース (5以下の場合) にすることを行った数を呼び出すことによって、リベースを開始できます。
git rebase -i HEAD~5
また、再配置できます特定のコミット文字列またはハッシュに基づきます。
git rebase -i 074a4e5
ぺしゃんこにするか、またはコミットを言い換えが、上流のプロジェクトのコードの最新のバージョンの上にあなたのブランチの再配置を実行できます。
git rebase upstream/master
再配置および更新の詳細については、読むことができますどのように再配置してプル要求更新、コミットの任意の種類に適用されるも。
リセットします。
場合によっては、作業ツリーをリセットする必要があるリベース後など。特定のコミットし、すべての変更を削除、次のコマンドでリセットできます。
git reset –hard 1fc6665
強制的にプッシュする起源リポジトリに直近の知られている競合する非コミット必要があります使用する–force.
警告: マスターに押す力は多くの場合眉をひそめてそれを行うための本当に重要な理由がある場合を除き、します。独自のリポジトリと共同作業しているとき、これを避けるために仕事に取り組んでいるときに控えめに使用します。
git push –force origin master
きれいのための Git ディレクトリからローカル追跡されていないファイルとサブディレクトリを削除する作業所git cleanを使用できます.
git clean -f -d
場合、それは現在の上流のマスターのような見えるようにあなたのローカル リポジトリを変更する必要があります (つまり、あまりにも多くの競合がある) ハード リセットを実行することができます。
注: このコマンドを実行する上流とまったく同じように見えるあなたのローカル リポジトリになります。すべてコミットしない滅ぼされる上流に引っ張られました。.
git reset –hard upstream/master
結論
このガイドは、リポジトリを管理するときに使用することがあります一般的な Git コマンドのいくつかをカバーして、共同編集ソフトウェア。
オープン ソース ソフトウェアとオープン ソースのチュートリアル シリーズ入門のコラボレーションについての詳細を学ぶことができます。:
オープン ソースに貢献する方法: Git 入門
GitHub 上でプル要求を作成するには、方法
再配置およびプル要求を更新するには、方法
オープン ソースのソフトウェア プロジェクトを維持するには、方法
多くのコマンドが、バリエーションとして役に立つ可能性がありますその Git をあなたの仕事。すべての利用可能なオプションの詳細についてを実行することができます。
git –help
有用な情報を受け取る。また続きを読むことができます Git の Git のGit の公式サイトからマニュアルを見て.
Leave a Reply