Git&GitHub共通コマンド
6651 ワード
まとめは『GitHub入門と実践』——(日)大塚弘記,支鵬浩.劉斌訳
Git部
基本構成 Git使用時の氏名とメールアドレス を設定する.コマンド出力可読性向上
ローカルウェアハウスの使用
きほんそうさローカルウェアハウスとして準備するディレクトリを作成し、入ってgit init初期化 を行う.
ここで.gitディレクトリには、現在のディレクトリコンテンツを管理するために必要な倉庫データが格納されます.Gitでは、現在のディレクトリ(例えば/git-tutorial)を「倉庫に添付されたワークツリー」と呼びます.ファイル編集などの操作はワークツリーで行い、倉庫に記録してファイルの履歴スナップショットを管理します.ファイルを元の状態に戻すには、倉庫から前のスナップショットを呼び出し、ワークツリーで開くことができます. git statusコマンドを使用して倉庫の現在のステータスを表示する git addコマンドを使用してtest.txtファイルをテストとして作成するなどの一時保存領域にファイルを追加する .
4.git commitコマンドを使用して倉庫履歴を保存する
-m後パラメータの内容は今回の提出説明(概要)です.-m以降のパラメータなしでgit commitコマンドを直接使用すると、エディタが自動的に開き、次のフォーマットで詳細なコミット情報を記録できます.第1行:1行の文字で簡潔に提出された変更内容 .第2行:空白 第3行以降:変更の原因と詳細を記述 .井戸番号先頭の行代表注釈内容 コミットを終了するには、コミット情報を空にしてエディタを直接閉じます. addとcommit を以下の方法でマージすることができる. git logコマンドを使用してコミットログを表示する ワークツリーと一時保存領域の違いを表示する ワークツリーと最新コミットの違いを表示
ブランチ操作
9.ブランチの作成、切り替えブランチ一覧 を表示する.前のブランチ に戻る.連結分岐(feature-Aとmasterを連結すると仮定)
その後、エディタが起動し、マージコミットの情報を入力します.ブランチ をグラフ形式で表示履歴バージョン を遡る現在の倉庫で実行されている操作ログを表示する 競合解消マージ時に競合が発生したファイルの内容は、 のようになります.
エディタで手動で変更し、適切なaddとcommitを実行するまで保存します.
GitHub部分
基本構成ローカル設定SSH Key
この時点で/Users/your_user_directory/.sshディレクトリの下でid_が生成されますrsa、id_rsa.pub 2つのファイル、id_rsaは秘密鍵(慎重に保存)、id_rsa.pubは公開鍵です.SSH接続後、構成によってknown_を生成することも可能hostsファイルは、ファイルの内容がアクセスしたリモート・サービス・エンドの公開鍵(ここでは、最初にアクセスしたリモート・サービス・エンドが正しく安全であると仮定するしかない)であり、次回同じサービス・エンドにアクセスすると、SSHは公開鍵を照合し、公開鍵が異なると、SSHは警告を発し、中間者の攻撃を受けることを避ける. GitHubに公開鍵を追加GitHubアカウント設定(Account Settings)でSSH Keysメニューを選択し、Add SSH Keyをクリックし、Titleバーに鍵名を追加し、Keyバーに前ステップで生成したローカルid_を記入するrsa.pubファイルの内容は、次のコマンドを使用してすばやく表示できます.
追加に成功すると、アカウントメールボックスを作成すると、「公開鍵の追加が完了しました」というメールが届きます. GitHubとのローカル認証および通信
リモートウェアハウスの使用
基本リモート操作 GitHubページツールバーのNew repositoryを使用して新規倉庫を作成する Repository name:倉庫名. Description:倉庫の説明(必須ではありません). Public、Private選択:倉庫を公開するかどうか、Privateはアクセス権を設定できます. Initialize this repository with a README:倉庫を自動的に初期化し、READMEファイルを設置し、ユーザーがすぐに倉庫をcloneできるようにする.GitHubに手に持っているGit倉庫を追加したい場合は、チェックせずに手動でpushします. Add.gitignore:Git倉庫に加入してバージョン管理を行う必要のないファイルフォーマット(主要言語およびフレームワークを含む)を記録した、自動的に生成された.gitignoreファイルの内容をドロップダウンメニューから選択できます. Add a license:ライセンスプロトコルファイルを追加し、主流のオープンソースライセンスを参照して分析できます.
GitHub倉庫の作成に成功した後、URLフォーマットは一般的に以下の通りです.https://github.com/user_name/repo_name,README.mdファイルの内容は自動的に倉庫のトップページに表示され,一般的な内容はソフトウェア概要,使用フロー,ライセンスプロトコルなどの情報を含むがこれらに限定されない.また、GitHub Flavord Markdown(GFM)は、GitHubがMarkdown文法に基づいて拡張した文法であり、README.md、Issue、WiKi、コメントなどのGitHub機能領域の内容の書写表現に広く用いられる. clone既存倉庫(SSHとHTTPSのリンクはすべて可能で、必要に応じて使用) cloneのローカルウェアハウスに入り、一連のローカルgit操作と変更してpush を行う.
ブランチ遠隔操作リモートウェアハウス を追加は、リモート・ウェアハウスの対応するブランチ にプッシュする.リモートブランチを含むすべてのブランチを表示する リモートブランチ を取得する.最新のリモートウェアハウスブランチ を取得
Git部
基本構成
$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "[email protected]"
$ git config --global color.ui auto
ローカルウェアハウスの使用
きほんそうさ
$ mkdir git-tutorial
$ cd git-tutorial
$ git init
#
Initialized empty Git repository in /Users/hirocaster/github/github-book/git-tutorial/.git/
ここで.gitディレクトリには、現在のディレクトリコンテンツを管理するために必要な倉庫データが格納されます.Gitでは、現在のディレクトリ(例えば/git-tutorial)を「倉庫に添付されたワークツリー」と呼びます.ファイル編集などの操作はワークツリーで行い、倉庫に記録してファイルの履歴スナップショットを管理します.ファイルを元の状態に戻すには、倉庫から前のスナップショットを呼び出し、ワークツリーで開くことができます.
$ git status
$ git add test.txt
#
$ git add .
4.git commitコマンドを使用して倉庫履歴を保存する
$ git commit -m "create test.txt"
-m後パラメータの内容は今回の提出説明(概要)です.-m以降のパラメータなしでgit commitコマンドを直接使用すると、エディタが自動的に開き、次のフォーマットで詳細なコミット情報を記録できます.
$ git commit -am " "
$ git log
#
$ git log --pretty=short
# 、
$ git log test.txt
# ( )
$ git log -p test.txt
$ git diff
$ git diff HEAD
ブランチ操作
9.ブランチの作成、切り替え
$ git branch feature-A
$ git checkout feature-A
#
$ git checkout -b feature-A
$ git branch
#
* feature-A
master
$ git checkout -
$ git checkout master
Switched to branch 'master'
$ git merge --no-ff feature-A
その後、エディタが起動し、マージコミットの情報を入力します.
$ git log --graph
$ git reset --hard (git log )
$ git reflog
# test.txt
<<<<<<< HEAD
- feature-A
=======
- feature-B
>>>>>>> feature-B
エディタで手動で変更し、適切なaddとcommitを実行するまで保存します.
# test.txt
- feature-A
- feature-B
GitHub部分
基本構成
$ ssh-keygen -t rsa -C "[email protected]"
#
Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa):#
Enter passphrase (empty for no passphrase):# ( )
Enter same passphrase again:#
Your identification has been saved in /Users/your_user_directory/.ssh/id_rsa.
Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub.
The key fingerprint is:
fingerprint [email protected]
#
The key's randomart image is:
+--[ RSA 2048 ]----+
| .+ + |
| = o O . |
#
この時点で/Users/your_user_directory/.sshディレクトリの下でid_が生成されますrsa、id_rsa.pub 2つのファイル、id_rsaは秘密鍵(慎重に保存)、id_rsa.pubは公開鍵です.SSH接続後、構成によってknown_を生成することも可能hostsファイルは、ファイルの内容がアクセスしたリモート・サービス・エンドの公開鍵(ここでは、最初にアクセスしたリモート・サービス・エンドが正しく安全であると仮定するしかない)であり、次回同じサービス・エンドにアクセスすると、SSHは公開鍵を照合し、公開鍵が異なると、SSHは警告を発し、中間者の攻撃を受けることを避ける.
$ cat ~/.ssh/id_rsa.pub
ssh-rsa [email protected]
追加に成功すると、アカウントメールボックスを作成すると、「公開鍵の追加が完了しました」というメールが届きます.
$ ssh -T [email protected]
#
The authenticity of host 'github.com(207.97.227.239)' can't be established.
RSA key fingerprint is fingerprint .
Are you sure you want to continue connecting (yes/no)? # yes
#
Hi ! You've successfully authenticated, but GitHub dose not provide shell access.
リモートウェアハウスの使用
基本リモート操作
GitHub倉庫の作成に成功した後、URLフォーマットは一般的に以下の通りです.https://github.com/user_name/repo_name,README.mdファイルの内容は自動的に倉庫のトップページに表示され,一般的な内容はソフトウェア概要,使用フロー,ライセンスプロトコルなどの情報を含むがこれらに限定されない.また、GitHub Flavord Markdown(GFM)は、GitHubがMarkdown文法に基づいて拡張した文法であり、README.md、Issue、WiKi、コメントなどのGitHub機能領域の内容の書写表現に広く用いられる.
$ git clone [email protected]:hirocastest/Hello-World.git
#
Cloning into 'Hello-World'...
remote:Counting objects:3,done.
remote:Total 3 (delta 0),reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ git push
#
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 328bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:hirocastest/Hello-World.git
46ff713..d23b909 master -> master
ブランチ遠隔操作
$ git remote add origin [email protected]:hirocastest/git-tutorial.git
$ git push -u origin master( )
$ git branch -a
#
* master
remotes/origin/HEAD -> origin/master
remotes/origin/feature-D
remotes/origin/master
$ git checkout -b feature-D origin/feature-D
$ git pull origin feature-D