Memo/git/GitHub

http://dexlab.net/pukiwiki/index.php?Memo%2Fgit%2FGitHub
 

GitHub?


Personal Access tokenの取得


CHANGELOGの書き方


IP制限したい時

GitHub?からのWebHook?時にIP制限したい時


GitHub?を使った開発フロー


Issue Template


二段階認証

  • 二段階認証後
    • 初回(IPアドレス等?)ブラウザログイン時に、ワンタイムパスワードを入力する
    • clone時に、https://だとIDとアクセストークンをGitHub?上で取得し、入力する必要がある。SSHの方が便利

一時的にユーザ名の変更

  • コミット時に指定
    1. git commit --author='User1 <user1@example.com>' -a
  • リポジトリ毎に指定( repository/.git/config)
    1. git config user.name "user1"
    2. git config user.email "user1@example.com"

GitHub?に登録した公開鍵は世界に公開される

  • 以下のアドレスから誰でも取得できる
  • GitHub?のアカウント名を知っていれば、ログインしたいホストの ~/.ssh/authorized_keys に追加すればOK
  • 公開鍵末尾のスペース以降はコメントなので、判別しやすいコメントを付けると良い
    1. ssh-rsa AAAAB3N...YFd8w6Q== username@example.com

よく使うリンク


Markdown記法

  • Githubによって拡張されている
  • エディタ
    • https://atom.io/ α版だがWindows/MacOSX版あり。CTRL+SHIFT+Mでプレビュー
  • 画像の表示
    1. # 相対パスに置いた画像の表示
    2. ![ALT文字列](./images/image01.png)

webhook: push後、指定サーバに通知を送信、サーバ上で自動更新


接続に使うユーザの確認

  1. ssh git@github.com
  2.  
  3. Hi <UserName> ...

ERROR: Repository not found.

  • pull権限はあるが、push権限が無い場合もこのエラー

Issue

  • Problem : 解決されるべき事
  • Issue : 議論されるべき事
  • コメントに #1 等のIssue番号を入れる事で自動的にリンクしてくれる。
  • #1 fixed, #1 closed等の決められた単語をコミットメッセージに入れる事で、Issueをcloseできる
    1. git commi -m "#1 fixed"
    2. git commi -m "#1 closed"

githubのpull request

変更点を含んだブランチを元リポジトリに取り込んで貰うようにリクエストを投げる事

  • 編集する人
    • コンソールでの作業
      1. # 現在のbranch確認
      2. git branch -a
      3. * master
      4.  
      5. # 最新のmasterに更新
      6. git pull
      7.  
      8. # 作業用ブランチ作成とチェックアウト
      9. git checkout -b new-branch
      10.  
      11. # 現在のbranch確認
      12. git branch
      13.   master
      14. * new-branch
      15.  
      16. # ファイルを変更、追加
      17. # 変更点確認
      18. git diff .
      19.  
      20. # 問題なければコミット
      21. git commit .
      22.  
      23. # ブランチをリモートへプッシュ
      24. git push origin new-branch
    • GitHub?上での作業
  1. 該当ブランチを選択
  2. Compare & pull Request ボタン
  3. @名前で該当の人を記入
  • Pull requestを受け取った人
  1. Changesetで変更点を確認
  2. Merge pull request
  3. Confirm merge
  4. Delete branch
  • 最新のマスターを取得
    1. git checkout master
    2. git pull

リポジトリ毎に別のgithubアカウントを使う

  • リポジトリ毎に別のユーザ名を使用できる。例えばuser1。global user.name, user.emailが設定されていない場合、commit, push等が出来ない
    1. git clone git@github.com:REPO/git-test.git
    2. cd REPO
    3.  
    4. git config user.name "user1"
    5. git config user.email "user1@example.com"
    6. git config --list
    7.  
    8. # ssh秘密鍵を適当な場所に置く
    9. vim ~/.ssh/github-user1_rsa
    10. chmod 600 ~/.ssh/github-user1_rsa
    11.  
    12. # ssh configを変更し、適当なホスト名を付ける
    13. vim ~/.ssh/config
    14. ----
    15. Host github-user1
    16.   User git
    17.   Port 22
    18.   HostName github.com
    19.   IdentityFile ~/.ssh/github-user1_rsa
    20.   TCPKeepAlive yes
    21.   IdentitiesOnly yes
    22. ----
    23.  
    24. # 接続テスト
    25. ssh -vT github-user1
    26.  
    27. # リポジトリ中のアドレスを変更
    28. vim .git/config
    29. ----
    30.     url = git@github-user1:REPO/git-test.git
    31. ----

使い方

  • README.mdのリアルタイムプレビュー
  1. https://github.com/signup/free 無料アカウントの作成
  2. Linux上での作業用にSSH公開鍵の登録。パスフレーズをありにすると毎回聞かれるので空でも良い
    1. ssh-keygen -t rsa -C "your_email@youremail.com"
    2.  
    3. 秘密鍵と公開鍵が出来るので保存しておく
    4. ~/.ssh/id_rsa
    5. ~/.ssh/id_rsa.pub
    6.  
    7. コミットログに表示される名前とメールアドレスを設定。~/.gitconfig に保存される
    8. git config --global user.name "your_name"
    9. git config --global user.email "your_email@youremail.com"
  3. githubにログインした状態で右上のAccount Settingsを選択し、SSH Keys > Add SSH Keyに「~/.ssh/id_rsa.pub」の内容をコピペ
  4. 右上のCreate New Repoで新しいリポジトリ(例:example)を作成
  5. ローカルに新規リポジトリを作成する場合
    1. mkdir example
    2. cd example
    3. git init
    4. touch README
    5. git add README
    6. git commit -m 'first commit'
    7. # URLに'origin' という短い別名を付ける(必須ではない)
    8. git remote add origin git@github.com:your_name/example.git
    9. # git push git@github.com:your_name/example.git master:master と同じ
    10. git push -u origin master
    • linux上でローカルリポジトリをもってくる場合
      1. git clone git://github.com/your_name/example.git
      2. cd example
      3.  
      4. # リモートの更新内容を反映
      5. git pull
      6.  
      7. # ファイルの追加
      8. git add README
      9.  
      10. # 全ての変更を追加
      11. git add .
      12.  
      13. # 変更の確認
      14. git status
      15.  
      16. # 差分の確認
      17. git diff [ファイル名]
      18.  
      19. # 変更を元に戻す
      20. git revert ファイル名
      21.  
      22. # 変更のコミット
      23. git commit -a
      24.  
      25. # リモートリポジトリへ反映
      26. git push

添付ファイル: fileplaybook.github-token.zip 7件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-06-13 (水) 14:12:54 (11d)