Git&GitHub共通コマンド

6651 ワード

まとめは『GitHub入門と実践』——(日)大塚弘記,支鵬浩.劉斌訳
Git部
基本構成
  • Git使用時の氏名とメールアドレス
  • を設定する.
    $ git config --global user.name "Firstname Lastname"
    $ git config --global user.email "[email protected]"
    
  • コマンド出力可読性向上
  • $ git config --global color.ui auto
    

    ローカルウェアハウスの使用
    きほんそうさ
  • ローカルウェアハウスとして準備するディレクトリを作成し、入ってgit init初期化
  • を行う.
    $ 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 status
    
  • git addコマンドを使用してtest.txtファイルをテストとして作成するなどの一時保存領域にファイルを追加する
  • .
    $ git add test.txt
    #          
    $ git add .
    

    4.git commitコマンドを使用して倉庫履歴を保存する
    $ git commit -m "create test.txt"
    

    -m後パラメータの内容は今回の提出説明(概要)です.-m以降のパラメータなしでgit commitコマンドを直接使用すると、エディタが自動的に開き、次のフォーマットで詳細なコミット情報を記録できます.
  • 第1行:1行の文字で簡潔に提出された変更内容
  • .
  • 第2行:空白
  • 第3行以降:変更の原因と詳細を記述
  • .
  • 井戸番号先頭の行代表注釈内容
  • コミットを終了するには、コミット情報を空にしてエディタを直接閉じます.
  • addとcommit
  • を以下の方法でマージすることができる.
    $ git commit -am "    "
    
  • git logコマンドを使用してコミットログを表示する
  • $ 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 -
    
  • 連結分岐(feature-Aとmasterを連結すると仮定)
  • $ 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 Key
  • $ 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は警告を発し、中間者の攻撃を受けることを避ける.
  • GitHubに公開鍵を追加GitHubアカウント設定(Account Settings)でSSH Keysメニューを選択し、Add SSH Keyをクリックし、Titleバーに鍵名を追加し、Keyバーに前ステップで生成したローカルid_を記入するrsa.pubファイルの内容は、次のコマンドを使用してすばやく表示できます.
  • $ cat ~/.ssh/id_rsa.pub
    ssh-rsa         [email protected]
    

    追加に成功すると、アカウントメールボックスを作成すると、「公開鍵の追加が完了しました」というメールが届きます.
  • GitHubとのローカル認証および通信
  • $ 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ページツールバーの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のリンクはすべて可能で、必要に応じて使用)
  • $ 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.
    
  • cloneのローカルウェアハウスに入り、一連のローカルgit操作と変更してpush
  • を行う.
    $ 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