Git&GitHub備忘録

まずはシェルにgitコマンドを受け取ってもらう。

その結果、上図のような出力が得られていれば、gitがインストール済み、ないと言われれば下記のコマンドでインストールする

sudo apt install git

次にユーザの設定を行う.

git config --global user.name "hogehoge"
git config --global user.email "hoge@hofe.com"

エディターの設定を行って、catで設定できてるか確認する

GitHub関連の設定

鍵の設定をする

ls .ssh

上記のコマンドで下図の黄色でハイライトされた2つのファイルが無いことを確認、あれば必要なし、なければ以下に示す手続きが必要

左が秘密鍵、右が公開鍵
ssh-keygen

上記のコマンドで鍵を作成可能、色々聞かれるけど、
ぜんぶEnterを押しておけば、大丈夫

公開鍵をGitHubに登録する

  1. 右上のアイコンからsettingを選ぶ

  2. ssh&GPG keyへいく

  3. SSH keysのNew SSHkeyを押す

  4. 適当にタイトルをつける

  5. catで下図のように公開鍵の中身を確認する

  6. 公開鍵を貼り付ける

ファイアウォール回避の設定

ホーム下の.ssh/configというファイルに記述を追加していく

vi ~/.ssh/config

上記のコマンドでvimで編集していく
その中に下図の設定を書き込む

Hostname ミスってる hがひとつ多い

GitHubへのコードの保存

  1. リポジトリの作成

  2. 右上の”+”マークを押して、"New repository"を選択

  3. 必要事項を記入

  4. "Add a README file”にチェック

  5. ライセンスを設定

  6. createする

リポジトリを手元にコピー

codeからsshタブ、コピー

git clone "コピーしたやつ"

リポジトリにコードを追加

クローンしたリポジトリにプログラムをおいてみる

記録の対象としてコードを以下のコマンドで選択
その下の行のコマンドで選択されているか確認できる

git add plus_stdin
git status

以下のコマンドでリポジトリにコードがコメントと共に追加される
これでコミットができた状態
下の行でコミットできたか、ログを確認できる

git commit -m "Add a command"
git log -n 1 

GitHubへの反映

手元のリポジトリをGithubのリポジトリへ転送
プッシュする
下記のコマンドでプッシュできる

git push

GitHubの画面を確認するとコードが追加されている

ブランチについて

現在のブランチを確認する
最初は「main」だけのはず、以下のコマンドで確認する
ただ、このコマンドはGitHubからクローンしてきた、
リポジトリのディレクトリで実行しないとエラーでる

git branch

基本的にmainブランチに動くコードを置いておく

開発用ブランチをつくっていく、
下図のようdevという名称のブランチを作成する

devブランチで開発したコードをGitHubにコミットとプッシュする

git add -A
git status
git commit -m ""

コミットまで終わったら、pushする、このとき、git pushのみだと
どこにpushするかわからないと怒られることがある。
だから、以下に示すコードのようにdevにpushしてねと明示してあげる

git push --set-upstream origin dev

ブランチの観察

下記コマンドでブランチを観察できる

git log --graph

devブランチでの開発

  1. まずメインブランチに戻る

  2. 次にどのブランチにいるか確認

  3. そのあと、mainとdiffのどこが違うか確認

  4. devの中身をmainにマージ

  5. プッシュする

git switch main
git branch
git diff main dev
git merge dev
git push

コンフリクト

コンフリクトを起こす準備をする

  1. 新しいディレクトリを用意

  2. その中でクローンする

  3. わかりやすいようにAとBというディレクトリにわける

mkdir tmp
cd tmp
git clone git...

コンフリクトを起こす

リポジトリAで変更してpush
中身を、数字の処理部分を関数に変更
リポジトリBで別の変更

A
B

コンフリクトを解消

過去のコード取り出し

いったんディレクトリAに戻る
Add a command
のところまでもどる、git logで見れるcommitの横にある番号で戻る
その番号の最初の何文字かを使う
確認するともとに戻っている

git log

状況を確認する

git branch

ローカルリポジトリだけ作ってるものをGitHubにup

この時点ではGitHubにない
git initでリポジトリとして認めてもらう手続きをしてるはず
この状態でgit pushしても以下のエラーがでる
GitHub側で作業が必要、コマンドラインからでもできるけど慣れてからにする

手順

1.いったんGitHub側で同じ名前のリポジトリを作成する
※ただこれだけだといま作ったリモート側と手元のローカル側の結びつきがない
2.git remote add origin <リポジトリ>で結び付け
※リポジトリはGitHub上のコードからコピーできるURL的なやつ
3.UbuntuのVer.とか古いと、ローカルで作った場合、ブランチの名称がmasterになってるから奴隷制度問題あるので、switchを使って名称をmainに変更する
4.masterを削除
5.git pullためして、まだ同じものと認めないよと怒られるので、対処していく
※git pull --allow….でvim立ち上がるけど何もせずにそのまま閉じればいい":wq"
6. git pushでめでたくGithubにもあがる

リポジトリの名前変更

  1. リモートでは、GitHub上のsettingから変える

  2. ローカルはvim .git/config

  3. 気になる場合はディレクトリの名前を変更する
    例. mv hoge_x hoge_x2


この記事が気に入ったらサポートをしてみませんか?