LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

GitとGithubの使い方!

Posted at
  • Github

  • リポジトリ
    →ソースコードの開発に関わるデータをまとめて管理するためのデータ置き場

  • フォーク
    →他人のリポジトリをコピーして自分のリポジトリを作成すること

・Githubは直接ファイルを書いてコミットすることも出来る
・GithubにコミットしたらアクセスできるWebサイトになる

  • issue(イシュー) →「議論における論点や関心ごと」という意味。Githubでは不具合や要求、その他の設計にかかわる関心事を取りまとめて議論するための機能のこと。

・解決したissueはCloseにすること。解決した時点のハッシュ(d879a30のような6桁の数字)を記載して閉じると良い

  • wiki
    →Web上から簡単に内容を書き換えられる、Webサイト管理システムのこと。Githubではマークダウンで編集できる。

  • Gist(ジスト)
    Gist

メモやコードの断片を気軽に投稿できるサイト。「.md」の拡張子をつけるとマークダウンでも書ける

  • Git →バージョン管理を行うソフトウェア。リポジトリに変更を加える(コミットする)とその度にバージョンが出来る。これをハッシュを使って管理する。

・SSH → Secure Shell

  • 公開鍵認証
    →「公開鍵」と「秘密鍵」で行う認証方法。通信したい相手に公開鍵情報を渡す。相手側は公開鍵を利用して暗号化、自分は秘密鍵を使って情報を復元する。

  • 公開鍵・秘密鍵の作成とGithubへの登録は以下を参照
    Git と GitHub の連携

  • clone
    →リポジトリを自分のマシンにコピーしてくること。Forkも内部的にはcloneが行われている

git clone git@github.com:${自分のGitHubアカウント名}/${リポジトリ名}.gitでカレントディレクトリにcloneする

git pull origin gh-pagesで最新の変更を受け取る

・cloneして自分のマシンにあるリポジトリ:ローカルリポジトリ
・Github上のリポジトリ:リモートリポジトリ

・「pull」でリモートリポジトリの変更をローカルリポジトリに引っ張る

  • git に自分の情報を登録しよう $ git config --global user.name "${あなたの名前}" $ git config --global user.email ${あなたのメールアドレス} $ git config --global core.editor "vim"

下記コマンドで自身の情報を表示
```
$ git config -l

user.name=hoge
user.email=hogehoge@gmail.com
core.editor=vim
```

  • ローカルにリポジトリを作る
    →リポジトリにしたいディレクトリに移動して、git initでローカルリポジトリを作成

  • リポジトリに変更を加える
    git add hogeで「ファイルをリポジトリに追加したい」という変更情報を登録する。変更情報を登録することをステージングという。変更情報を保持している領域をインデックスという。

git statusでステージングの状況を確認

git commit -m "はじめてのコミット"で変更状況をリポジトリにコミットする

・「-m」オプションでコミットメッセージを追加(必ずつけなければならない)

git logでコミットログを確認

  • 変更をGitHubに置く →Githubでリポジトリを作成しておく

git remote add origin git@github.com:${自分のGitHubアカウント名}/git-study.git
→リモートリポジトリのoriginは、このGitHubのアドレスのリポジトリを指すことにするという意味

git push -u origin master
→「push」でローカルでの変更をリモートに適用する。「-u」オプションで次回以降にoriginとmasterを省略した時に、自動でこの値とする

ワークツリー(ローカルのディレクトリ)→add→インデックス→commit→ローカルリポジトリ→push→リモートリポジトリ

  • gitのタグ付け →特定のバージョンをリリースする際に使う。タグをつけると、つけた時点のコミットがzipでダウンロードできるようになる。
$ git tag 1.0
$ git push --tags origin master
  • ブランチ(branch) ある地点からのソースコードの派生系のこと。リポジトリを作成した時にデフォルトで作成されるのが「master」ブランチ

git branchで現在使用しているブランチを表示。後ろに名前を入れると、入力した名前のブランチを作成する

「gh-pages」という名前でブランチを作成してpushすると、「GitHub Pages」というサイトに自動的にwebサイトとして公開される。これはポートフォリオサイトによく利用される

GitHub Pages

  • チェックアウト (checkout) 利用しているブランチを切り替える

git checkout gh-pages

  • マージ (merge) 現在のブランチに他のブランチを取り込むこと

git merge gh-pages

git add .で全てのファイルをaddできるのは「.」がカレントディレクトリという意味だから

GitとGithubの連携(SSH接続)

SSHでは暗号化通信を行う際にパスワード認証も使うことができるが、より安全な公開鍵認証という認証方法もある

  • 公開鍵認証とは
    公開鍵認証とは、「公開鍵」と「秘密鍵」という 2 つの情報を使った認証方法。公開鍵と秘密鍵を作り、通信したい相手に公開鍵情報を渡し、秘密鍵は自分が秘密にしておく。相手と通信する際に、相手は公開鍵を使って情報を暗号化し、受け取る自分は秘密鍵を使って情報を復号

  • SSH の公開鍵と秘密鍵の作成
    ssh-keygenで鍵の作成

# このディレクトリに鍵を作成して良いか聞かれる。ダメならパスを指定
Generating public/private rsa key pair.
Enter file in which to save the key (/home/${あなたの環境におけるUbuntuのユーザ名}/.ssh/id_rsa):

# この鍵を利用するためのパスワードを聞かれるので自由に入力。忘れないようにする
Enter passphrase (empty for no passphrase):

# もう一度入力
Enter same passphrase again:

これで鍵を表すアスキーアートが表示されていれば完了

鍵は指定したパスに入っている(標準なら~/.ssh

id_rsa:秘密鍵
id_rsa.pub:公開鍵

  • 公開鍵を GitHub に登録 cat ~/.ssh/id_rsa.pubでファイルの中身を表示できるのでコピー

Githubの「Settings→SSH and GPG keys→New SSH key」でタイトルは適当に入力、keyにはコピーした公開鍵を入力する

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up