20200818のGitに関する記事は7件です。

gitコマンド[メモ]

内容

  • gitコマンドのメモ
     チート表とかもあるけど、とりあえず自分で使ってみたものをメモ

前提知識

よく出てくる「origin master」と「origin/master」何が違うのかよく分からないので調べてみた。
まずこの2つをわかりやすくするには、「origin」、「master」、「origin/master」の3つに分ける。

  • origin
     これは要するにリモートブランチそのもののこと。
     当然その中にはブランチがあるはずである。
  • master
     という事でこれがブランチを表している。
     であるので、「origin master」とは、リモートブランチの(origin)masterブランチを指しているわけである。
  • origin/master
     上記2つはリモートブランチだったが、こちらはローカルブランチ。
     リモートのmasterブランチを追跡する追跡ブランチである。

これらそれぞれが何してるか分かっとくとコマンド打つときある程度迷わなくなる?(逆に曖昧で現場で迷った経験あり笑)

リモートの変更を持ってくる

  • git pull < origin [ブランチ名] >
     <>に記載しているブランチの変更をひっぱってくる。
    実際は引数なしでチェックアウトしているブランチの変更を引っ張ってくることが多い?
git pull
# あえて引数を指定するなら
git pull origin master

git pullは実際は、「git fetch」と「git merge」のコマンドをまとめて行っているコマンドである。

  • git fetch < origin [ブランチ名]>
     リモートブランチ内の引数に設定したブランチ(引数がなければ現在チェックアウトしているブランチ)を
     ローカルブランチの追跡ブランチに落とす。この時の追跡ブランチが「origin/[ブランチ名]」。
     
  • git merge < origin [ブランチ名] >  fetchで落とした「origin/[ブランチ名]」をローカルに落とす。
# masterブランチの変更を落としたい場合
git pull
# もしくは丁寧に
git fetch
git merge origin master

初心者のうちは、fetchしてからmergeした方が何しているか理解する上でもいいのかなぁ。

ブランチ作成

基本的にmasterを変更してpushってことはないかと思われる。。。
という事でその変更ごとにブランチを切って、レビューしてからマージするはず。
となのでまずはブランチの切り方。

  • git branch < ブランチ名 >
     引数で与えたブランチ名でブランチを新しく作成。
 # testというブランチを新しく作成
 git branch test
  • git checkout < ブランチ名 >  上で作成したブランチ名を入れればそのブランチに移動できる。  元々ブランチが作成されているのであればこれでブランチの変更が可能。  git pull後にチェックアウトした場合もう一度git pullする。(チェックアウトしたブランチが変更されている可能性があるため)
 #上で作成したtestブランチに移動
 git branch test
  • git checkout -b < ブランチ名 >
     めんどくさいから新しいブランチ作ってそのままチェックアウトしちゃう便利なやつ
 #testtestブランチを作成
 git checkout -b testtest

リモートに変更をあげる

無事にブランチも切れた事でファイルを編集後リモートに反映する。
今回は、testブランチで新しくtest.txtとindex.txtというファイルを作成する。

touch test.txt
touch index.txt

この作ったファイルをリモートに反映していく。

以前書いているので詳しいことは省略。
(今回はstatusなどの状態の確認は省略している)
ただし、pushの仕方のみ注意!

# リモートに反映したいファイルの登録
git add test.txt index.txt
# 変更記録を保存
git commit -m "create newfile"
# リモートに送る
git push -u origin test

初回pushのみオプションとして「-u」をつけること。
これをすることでpushしたローカルのブランチが上流ブランチとして登録される。(2回目以降はオプションなしで問題ない)
※上流ブランチと追跡ブランチの違いがよく分からん

--------           ローカル           --------   ----  リモート  ----  
    < master >    ->    < origin/master >    |    < master >  
        == 上流ブランチ =>       == 上流ブランチ =>  

ローカルのの上流ブランチは、< origin/master >である。このブランチはローカルのを上流ブランチとした追跡ブランチである。
って認識?
新しくブランチ切った場合は、fetchするまで追跡ブランチはない?
これは時間あるときに調べましょう。

その他コマンド

  • git status
     現在の変更状況が確認できる。
  • git diff
     変更したファイルの変更点の確認ができる
  • git stash
  • git stash save "massage"
    修正途中で他の作業がしたい!でもコミットはしたくない!ってときに一時退避できる。
    save "message"でメッセージを残せる。
  • git stash list
    stashで退避した作業の一覧が見れる。
git stash list

# こんな感じで表示される
stash@{0}: WIP on test: xxxx
stash@{1}: WIP on sample: xxxx
  • git stash apply
  • git stash pop
    退避した作業を戻す。
    stashは戻したリストを残す。
# listで表示したもののどれに戻したいかを最後の引数で指定
git stash apply stash@{0}
# 最新なら引数なしでOK
git stash apply
# listを表示しても削除はされていない
git stash list

stash@{0}: WIP on test: xxxx
stash@{1}: WIP on sample: xxxx

popは削除。

# listで表示したもののどれに戻したいかを最後の引数で指定
git stash pop stash@{0}
# 最新なら引数なしでOK
git stash pop
# listを表示すると適用したものが削除されている
git stash list

stash@{0}: WIP on sample: xxxx
git stash >> stash.txt

でテキストに出してapplyできた気がするけどちょっと調べよう。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

初めてのpush時に出たエラーの対処法まとめ

今回出たエラー

  1. ローカルリポジトリとリモートリポジトリとの紐づけ忘れエラー
  2. rejectedエラー
  3. mergeエラー

やったこと

(★だけ追っていけばエラーを出さずにpushできるはず!)

1.ローカルリポジトリ作成★

$ git init

2.適当なファイルを作成★

最初にコミット&プッシュする為の適当なファイル(RubyTraining.md)を作成。

3.ステージングエリアにmdファイルを登録★

$ git add RubyTraining.md

4.コミット★

$ git commit -m "RubyTrainingStart"

5.プッシュ

エラー発生。
原因:リモートリポジトリとの紐づけを行わずにプッシュしてしまったため。

$ git push origin master

fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

6.リモートリポジトリとの紐づけ★

$ git remote add origin リモートリポジトリのURL

7.プッシュ

rejectedエラー発生。
原因:フェッチとマージをしていなかったため。

$ git push origin master

Enter passphrase for key 'SSH Keyの保存場所':
To github.com:teraokamai/RubyTraining.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'リモートリポジトリのURL'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

8.フェッチ★

$ git fetch origin

9.マージ

mergeエラー発生
原因:mergeコマンドのオプションで--allow-unrelated-historiesをつけていない為。
(Git 2.9から mergeコマンドとpullコマンドでは,--allow-unrelated-historiesを指定しない限り,無関係なヒストリを持つ2つのブランチをマージすることはできなくなった。)

$ git merge origin/master

fatal: refusing to merge unrelated histories

10.マージ★

$ git merge --allow-unrelated-histories origin/master

11.プッシュ★

成功!

$ git push origin master

反省

初めてやることは片っ端からエラーを出していっている気がする。。
しっかりまとめて同じミスをしないようにする。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Github はじめの一歩 -Bracketsでも使えるようにしてみた-

はじめに

これは、今までGitに触れる機会が無かった私がGitの基本を身につけるために行ったことの備忘録です。
インストールなどの画像を撮り忘れてしまい、一部は外部記事の引用となっていますが、ご了承ください。
環境は以下の通り

  • OS:Windows10
  • Git Ver.:2.28.0.Windows.1
  • エディタ:Brackets

手順

  1. 基本的なコマンドを学ぶ
  2. Gitのアカウントを作成し、リポジトリを作成する
  3. Gitをインストールする(Windows10)
  4. Git Bashの設定をする
  5. ローカルにリポジトリを作成する
  6. Gitにファイルをアップロード(push)する

おまけ

  • Brackets Gitをインストールする
  • Brackets Gitの使い方
  • Git BashのデフォルトエディタをBracketsに設定する

1.基本的なコマンドを学ぶ

Gitでは基本的にターミナルでコマンドを実行して操作します。
Git独自のコマンドのほか、基本的なファイル操作を行うコマンドラインの知識も必要です。
今回は以下のサイトを使ってコマンドの学習を行いました。
Progate|コマンドライン
Progate|Git
重要なコマンドは以下の通り

ディレクトリ、ファイルを操作するコマンド

pwd

カレントディレクトリ(現在操作しているディレクトリ)を表示します。


ls

カレントディレクトリ内のファイルやディレクトリの一覧を表示します。


cd <ディレクトリ名>

指定したディレクトリに移動します。絶対パス、相対パスどちらも使用できます。
ディレクトリ名を省略するとホームディレクトリに移動します。(作業フォルダーとは違うため注意)


mkdir <ディレクトリ名>

ディレクトリを作成します。


rmdir <ディレクトリ名>`または`rm -fr <ディレクトリ名>

指定したディレクトリを削除します。


touch <ファイル名>

空のファイルを作成します。拡張子まで指定する必要があります。


mv <変更前ファイル名> <移動先ディレクトリ名>

ファイルを指定したディレクトリに移動します。
移動先ディレクトリ名にファイル名を入力すると名前を変更することができます。


cp <コピー元ファイル名> <コピー先ディレクトリ名>

ファイルをコピーします。名前を変更する場合はファイル名を入力します。


rm <ファイル名>

ファイルを削除します。

Gitを使う上で基本となるコマンド

$ git config --global user.name <ユーザー名>
$ git config --global user.email <メールアドレス>

ユーザー名とメールアドレスを設定します。


git init
git remote add origin <URL>

リポジトリを作成します。


git clone <URL>

指定したリポジトリを自分の環境へダウンロードします。


git add <ファイル名>

指定したファイルをインデックスに登録します。
ファイル名は*.htmlなど柔軟な指定ができます。


git commit -m <メッセージ>

変更した内容についてのメッセージを記録します。


git status

現在作業しているローカルリポジトリの変更状態などが表示されます。


git diff

変更内容を確認します。


git log

コミットされた履歴を表示します。


git push origin master

リモートリポジトリにアップロードします。


git pull origin master

リモートリポジトリからダウンロードします。

2.Gitのアカウントを作成し、リポジトリを作成する

TechAcademyマガジン|今さら聞けない!GitHubの使い方【超初心者向け】
上記ページを参考に「Github」にてアカウントを作成します。
フリープランでも非公開のリポジトリを作成することができるので大丈夫です。
今回は非公開のテストリポジトリを作成しました。

3.Gitをインストールする(Windows10)

Progate|【Windows】Gitの環境構築をしよう!
上記サイトを参考にGitをインストールします。
ダウンロードは「Git for Windows」から。
画像を撮り忘れてしまいました。

4.Git Bashの設定をする

Git Bashを使いやすくするために設定をしていきます。

作業ディレクトリの設定

Git Bashのアイコンを右クリックし、プロパティを表示します。
2020-08-17_17h58_15.png
1. リンク先に--cd-to-homeというコマンドオプションがあるので、削除します。
2. 作業フォルダーに起動時に移動したいフォルダーを入力します。(画像ではD:\git)
変更できたらOKボタンをクリックします。

ユーザー名とメールアドレスの設定

Gitbashを起動して、コミットしたときに表示される名前とメールアドレスを設定します。

$ git config --global user.name "ユーザー名"
$ git config --global user.email "メールアドレス"

Git Bashのウィンドウやフォントの設定

使いやすいように見た目を設定します。
2020-08-17_17h58_48.png
ウィンドウの左上を右クリックしてオプション画面を表示します。

2020-08-17_18h07_24.png
Looksから画面や文字の色などを変更します。
Themeから好みのものを選んでかんたんに変更することもできます。

2020-08-17_18h24_30.png
2020-08-17_18h01_06.png
Textからフォントや文字のサイズを変更できます。
自分の見やすいフォント、サイズを選択します。

2020-08-17_18h01_37.png
Windowでは、起動時の画面サイズを変更することができます。
Default Sizeで数字を設定して変更します。

変更した結果を見るにはApplyボタン、設定を終了するにはSaveボタンをクリックします。

5.ローカルにリポジトリを作成する

Git Bashで設定した作業フォルダにローカルリポジトリを作成し、移動します。
今回はtestディレクトリを作成しています。

mkdir test
cd test

testディレクトリに移動したら、Github上に作成したリモートリポジトリに表示されているアドレスをコピーして
以下のコマンドを実行します。

git init
git remote add origin <URL>

URLの部分は""で囲うようにしてください。

Git Bashでコピペをする

Git BashでコピーするにはShift + Insertキーを押します。
Git Bash上では通常のアプリケーションとショートカットキーが違うので注意してください。

Git initを取り消す

間違ってgit initしてしまった、上手くいかないためgit initからやり直したい場合には.gitディレクトリを削除します。

rm -rf .git

6.Gitにファイルをアップロード(Push)する

ローカルリポジトリ上にhello.htmlというファイルを作成した上で、Githubのリモートリポジトリにアップロード(Push)します。
最初に、変更したファイル(今回は作成したhello.html)をインデックスに登録します。

git add hello.html

インデックスに登録することで、変更したファイルを変更履歴とともにアップロードできるようになります。
続いて、変更した内容をリポジトリに記録するためコミットをします。
今回はhello.htmlを作成したことを記録します。

git commit -m "add hello.html"

ファイルが追加されているか確認するには、以下のコマンドを使用します。

git status

コマンドを実行すると変更されたファイルは赤字で、addされたファイルは緑字で表示されます。

準備ができたらいよいよアップロード(Push)します。

git push origin master

Github上で確認をして上手くいっていればhello.htmlが追加されていることが確認できると思います。

Githubの基本的な使い方は以上です。

おまけ

主に使っているエディターBracketsでGitを使えるようにしました。
これらの作業はGitをインストールした後に行ってください。

Brackets Gitをインストールする

拡張機能マネージャーから「Brackets Git」を検索し、インストールします。
URLからインストールする場合は以下のページからできるかもしれません。
Brackets Git | Github
わたしの環境では上手く行きませんでした。

Brackets Gitの使い方

Bracketsで作業したいフォルダーを開きます。
右のサイドバーにある以下のボタンをクリックすると下部にBrackets Gitのウィンドウが表示されます。
2020-08-18_18h20_36.png

initボタンでgit initが、cloneボタンでgit cloneがかんたんに行えます。
また、以下のボタンをクリックするとGit Bashが起動するのでそちらから最初の設定をすることもできます。
2020-08-18_18h26_55.png
個人的にはGit Bashから行う方がわかりやすいかなと感じます。

Brackets Gitからgit initする

initボタンをクリックするとメニューボタンが表示されるようになります。
右側に▲-というボタンがあるのでクリックし、最初の画面にorigin、次の画面でURLを入力するとリモートと紐付けすることができます。

Brackets Gitからgit cloneする

cloneボタンをクリックすると以下の画面が表示されます。
2020-08-18_18h40_01.png
各欄を入力してOKをすればクローンが可能です。

Brackets Gitからプッシュする

ファイルが変更されると、以下のように変更されたファイルがリストアップされます。
2020-08-18_18h48_52.png
一番左端のチェックボックスでgit addするファイルを選択し、Commitボタンをクリックするとメッセージ入力ウィンドウが表示されます。
ウィンドウの上部には変更点が表示されています。
メッセージを入力してOKボタンを押すと以下のようにプッシュできるようになるので、ボタンをクリックしてプッシュができます。
2020-08-18_18h59_09.png

コミットメッセージには日本語も使用可能でした。

Git BashのデフォルトエディタをBracketsに設定する

Git Bashから以下のコマンドを実行することで設定できます。

git config --global core.editor "brackets --wait"

以上、Gitの導入とBracketsでの操作方法でした。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Gitlab⇒Githubに移行した話

会社の都合で移行するぞーってなった備忘録

1   旧リポジトリのミラーリポジトリを開発用PCに作る
    git clone --mirror git@gitlab_gitname tmp

2   ミラーリポジトリに入って内容物を確認
    cd tmp
    ls -l

3   remote originのURLを新リポジトリに向ける
    git remote set-url origin git@github_gitname.git

4   新リポジトリにミラー内容をpush
    git push --mirror origin

5   新リポジトリからcloneしてくる
    git clone git@github_gitname.git

SSHでミラー出来ない場合はHTTPSでやるとうまくいった
SSHでミラーする場合はSSHキーを作り直すとうまくいくらしい
tmpファイルはあとでいらなくなるので消してもいい。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【GitHub×AWS】Permission denied (publickey). fatal: Could not read from remote repository.でGit pushできない時の対処法

前提条件

・AWS Cloud9(IDE)を使用
・GitHubをコードのバージョン管理として使用

エラー内容

$ git push origin master
Permission denied (publickey). fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.

「公開鍵がないため、許可が却下されました。リモートリポジトリから読み込めません。正しいアクセス権限があるか、レポジトリが存在しているか確認して下さい。」という内容。

原因

GitHubに公開鍵の登録がないため、アクセス権限がなく拒否をされてしまった。

対処法

SSH鍵の作成

1.下記コマンドを入力。your_email@example.comはGitHubで登録しているメールアドレスに置き換える。

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2.Enter a file in which to save the keyで何も入力せず、エンターを押す。こうするとデフォルトのファイルの場所に作成される。

> Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]

3.パスワードを設定する。確認も含めて2回入力する。

> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

ssh-agentにSSH鍵を追加

1.バックグラウンドでssh-agentを起動させる。

$ eval "$(ssh-agent -s)"
> Agent pid 59566

2.ssh-agentにSSH鍵を追加させる。

$ ssh-add ~/.ssh/id_rsa

SSH鍵をGitHubアカウントに追加

1.公開鍵の内容を下記のコマンドで表示。表示されたものをコピーする。この時スペースや改行などが入ると認識できないため、入らないように注意する。

cat ~/.ssh/id_rsa.pub

2.GitHubに行き、Settingsを選択。
スクリーンショット 2020-08-18 12.57.28.png

3.SSH and GPG keys>SSH keys> New SSH keyを選択。
スクリーンショット 2020-08-18 12.58.57.png

4.Titleに名前をつけて(なんでも良い)、Keyに先ほどコピーした公開鍵を貼り付ける。万が一無駄なスペースなどが入ってしまったら、この時点で削除する。そしてAdd SSH keyボタンを選択する。
スクリーンショット 2020-08-18 13.01.49.png

エラーが出ずに鍵が作成されたら成功。

SSHの疎通確認

1.下記のコマンドを実行し、最後の方に...successfully authenticated...が表示されればSSHの疎通がされたことが確認できる。

$ ssh -T git@github.com

こうして鍵を登録したアカウントの権限があるリポジトリが、操作できるようになる。

参考
https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account
https://utano.jp/entry/2017/10/amazon-linux-github-ssh-key/

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

怖くないよ、Git と GitHub

前書き

Git にビビり散らかしていた昔の自分向け

Git てなんだ

語弊を恐れずに言うならファイルのタイムマシン。
例えばプログラムを書いていて、間違った時に(ctrl or cmd)+zで戻したり、やっぱり戻したのを進めなおしたりすると思う。それのファイル版。

分散型バージョン管理システム

addしてコミットしてプッシュしてふぁるすがるしでぱーじがこくーん

コマンドが多くて混乱することもあると思うが、一度覚えてしまえば気にならなくなる。
一旦落ち着いてメモをとるべし。もし先輩に教えてもらったメモがあるなら、そのメモと比較しながら内容を反芻できるななおグッド


add

git add ファイル名 と使う
エイリアス(コマンドのショートカット)を切っている場合は別のコマンドを教わっているかもしれない。ga とか。
その場合は作業ディレクトリの .gitconfig か、 ~/.gitconfig を開いてみるとエイリアスが乗っている。

このコマンドは、変更したファイルをコミット対象にするコマンド
コミットしたのに変更が反映されてないときは、この add コマンドを叩いていない可能性が大


commit

git commit と使う
怖いと思いがちなコマンド。取り返しがつかないと思いがちだが、1つ前のコミットは簡単にキャンセルできるので安心するべし。
このコマンドは、addされたファイルの差分を一つのコミットとして保存するコマンド。
もしコミットしてから間違いに気が付いた時は、冷静にその間違えを直す修正を add して commit すれば何も問題はない。
間違いが膨大すぎる、あるいは事情があって急ぎで戻したい時は、下記の打ち消しコミットをすれば大丈夫。まだ git を理解しきれていない時は、reset より revert のが安心
打ち消しコミット git revert HEAD

push

git push (エイリアス or URL) ブランチ名 と使う
怖いと思いがちなコマンド。実際怖いが、やらかした時の対処方法もしっかり用意されているので、巻き戻しの準備をしてから丁寧に打ち込もう
このコマンドは、リモートリポジトリにコミットした内容を送るコマンド。
よくみるのは、
git push origin feature/XX-1111
みたいな形。
origin はリモートリポジトリの URL を指すエイリアスとなっている。
feature/xx-1111 は githubflow でよく使われる機能開発ブランチの命名方法。featureブランチの、タスク管理ツールのチケットxx-1111番、という命名の仕方

git push だけでも実行可能で、その時に実行されているのは、
git push エイリアス 現在のローカルブランチ名
である。

もしやらかした時は、修正コミットをかけて、pushし直そう。
ここで重要なのは、必ずローカル環境でエラーが出ていないことを確認すること。修正をミスしていることに気がつかないことが多々あるので、動作確認をしっかり行ってから修正コミットを行おう


branch

本体とは分けて作業を行える機能。そしてその機能を使うためのコマンド
もしこの機能がない場合、全員が同じブランチを触ることになるため、新機能開発などを一つの大きなコミットで行わざるを得なくなり、バグフィクスでの差分確認や有事の引き継ぎなどが大変になる
この機能があるおかげで、Aさんはバグフィクス用のブランチを切って作業、Bさんは新規機能開発のブランチを切って作業、という風にそれぞれの作業が混ざらずに自分の作業に集中できるようになる。

ブランチは運用方法が色々あり、gitflow, githubflow などが有名

どんな運用でやっているのか、プロジェクト参加時にしっかり確認しよう。もし今現在でもよくわからない時は、今すぐ聞いてこよう。あとで運用方法と違うブランチの切り方をしてpushした方が迷惑がかかる

merge

merge は二つのブランチを一つにするコマンド。怖いと思いがちなコマンドだが、怖いというよりコンフリクトが面倒なコマンンド

revert で打ち消せるので、やらかしても安心。一番怖いのはやらかしに気がつかないで push することなので、mergeしたら動作確認は忘れずに。
コンフリクトしたら <====== ========= ======>こんな記号に挟まれた差分が発生する。ようはマージする側とされる側、両方に変更があるけどどちらを採用するかを問われているので、採用する側のコードを残してあげれば解決

その時、コンフリクトの記号を消し忘れないように、検索で ===== を検索してあげるとなおよし。コンフリクトの修正漏れを見つけられたりもする


checkout

git checkout (ブランチ名 or ファイル名 or コミット番号) と使う
ブランチの切り替えや、add していないファイルの差分を打ち消すのに使う
コミット番号を指定するとそのコミット番号の状態に飛べるが、ブランチ間の繋がりは失われるので、決してそこで作業はしてはいけない。

pull

git pull (リモートのURL or エイリアス) ブランチ名 と使う
リモートのブランチをローカルのブランチに merge させるコマンド。ローカルがリモートから遅れている分を解消するコマンド
毎朝一回か、ブランチをきる前に派生元のブランチには pull をかけてあげよう。そうするとコンフリクトの可能性がグッと減る。

diff

git diff (ファイル名) と使う
作業前との差分を表示するコマンド。addする前にこのコマンドを叩いて差分に問題がないか確認s塗ることでミスが格段に減る

GitHub

英語がたくさんだしわけのわからない本番のソースコードが並んでいたりで怖いかもしれないが、大半は関係ないので気にしなくていい

ここでできるようになるべきはプルリクエストの作成
こちらなどでみるとわかりやすい。

差分のあるブランチを push すると自動で GitHub がプルリクエストを作成するためのボタンを用意してくれるので、それを押して、表示された項目にプロジェクトの規定に則ったコメントを書いて作成するだけ。
それだけで初心者のうちは GitHub で行うべき作業の半分を行ったと言える(個人的な感想

もし作成したプルリクエストがコンフリクトしていたら merge のボタンの代わりにコンフリクトしている旨が表示されているはずなので、ローカルで修正したものを作成してリモートに上げ直そう。
例えば develop ブランチに feature/hoge を merge しようとしてコンフリクトしていたら、ローカルで deveolop を最新の状態にしてから、feature/hoge に develop を merge してローカルでコンフリクトを解消してあげてリモートに上げ直すと、GitHub 上でもコンフリクトは解消されている。

それでもよくわからない

作業完了までの流れをタスク分解してみよう。きっと不安なところが見つかるはずだ。あとはその不安なところを調べたり教えてもらったりすれば、一人で立派に作業できるようになる

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

GitHubにSSH接続する方法(秘密鍵、公開鍵の作成)

GitHubにSSH接続していないと、pushした際、以下のようなエラーになると思います。

$ git push origin master
git@github.com: Permission denied (publickey).

なので今回は、GitHubにSSH接続する方法をご紹介いたします。

秘密鍵と公開鍵を作成する

秘密鍵、公開鍵というのは、公開鍵暗号方式で使われる2種類のデータのことです。
簡単に言えば、公開鍵が鍵穴、秘密鍵が鍵のようなものです。
秘密鍵は自分で保持し、公開鍵はGitHubに送ります。

まずは、この2つの鍵を作成します。

以下のコマンドで、鍵を保存するフォルダに移動します。

$ cd ~/.ssh

以下のコマンドで、鍵を生成します。

$ ssh-keygen -t rsa

以下の表示がでるので、Enterを押します。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yusukehorita/.ssh/id_rsa): 

さらに以下の表示がでるので、Enterを押します。

Enter passphrase (empty for no passphrase):

さらに以下の表示がでるので、Enterを押します。

Enter same passphrase again:
Your identification has been saved in /Users/yusukehorita/.ssh/id_rsa.
Your public key has been saved in /Users/yusukehorita/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Q+ZcarwT4Snlqa8hT1nFhT+xzpSGou3xQaKdyCONdns yusukehorita@hottayuusukenoMacBook-Air.local
The key's randomart image is:
+---[RSA 2048]----+
|           ..    |
|         ....    |
|        = +o +   |
|       XoBo B    |
|     +.*S= = .   |
|    + O*=+. o    |
|   ..o=+oo .     |
|     +.oE..      |
|      oo.        |
+----[SHA256]-----+

これで秘密鍵と公開鍵が生成されました。

ちゃんと作成されたか、確認してみましょう。

$ ls
id_rsa      id_rsa.pub

以上の2つのファイルが表示されたら、OKです。(id_rsa が秘密鍵、id_rsa.pub が公開鍵)

公開鍵をGitHubにアップする

以下のコマンドで公開鍵をコピーします。

$ pbcopy < ~/.ssh/id_rsa.pub

https://github.com/settings/keys
ここから、GitHubの公開鍵の設定ページに飛んでください。

画面の右上の New SSH key を押してください。

すると、次のような画面になるので、Title に公開鍵の名前(ご自身で決めてください)、key に先ほどコピーした公開鍵を貼り付けてください。
最後に、Add SSH key を押してください。
スクリーンショット 2020-08-18 2.13.44.png

これで GitHubにSSH接続できました。

参考記事

https://qiita.com/shizuma/items/2b2f873a0034839e47ce
https://it-trend.jp/encryption/article/64-0089

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む