20200627のGitに関する記事は2件です。

Git事始め

みんなgit使ってるけど実は使い方に自信ないぜ!っていう人向けに最低限必要な操作方法をまとめる。

接続アカウント

案件によってGitのログインアカウントが異なる場合があるので、そのときは都度user.name、user.emailを変更する。

設定確認

git config -l

アカウントの設定変更

git config --global user.name "[Gitのアカウント名]"
git config --global user.email "[メールアドレス]"

SSH接続設定

(1) ローカルPCで公開鍵と秘密鍵を作成(すでに作成済みの場合は再利用する)

cd ~/.ssh
ssh-keygen -t rsa -C "[メールアドレス]" -b 4096

(2) こんな感じで作られてるのが確認できるはず。この公開鍵をコピーし、GitHub側で登録する

cat ~/.ssh/id_rsa.pub

(3) 端末側で鍵を登録する

ssh-add ~/.ssh/id_rsa

※イメージ図
image.png

リポジトリ作ったら最初に使うコマンド

リポジトリに既にコードがあるので、ローカルにコードを持ってきたい場合

(1)クローン

まずクローンする。この操作でローカルに持ってこれるのはmasterブランチのみ。

git clone git@hogehoge.jp:xx.git 

※git@~の部分は、githubやgitlabなど使ってるサービスによって異なるので、各サービスの「clone」ボタンからコマンドを確認しよう

ではローカルに持ってこれたブランチ情報をみてみよう

git branch -a
* master
  remotes/origin/master

「*」は今このブランチをみてるよっていう印

(2) ブランチを変更する

masterブランチに直接コードをあげるのは稀。masterなので綺麗なコードを管理したいからね。ごちゃごちゃコード弄るときはだいたいdevelopブランチ等の専用ブランチで管理をする。このとき、「作業するブランチを切り替える」ということをする。

たとえばdevelopブランチをローカルに持ってくる(=ローカルにdevelopブランチを新規作成してリモートのdevelopブランチに紐づける)

git branch develop origin/develop

すると、こんな風になってるはず

git branch -a
* master
  develop
  remotes/origin/master
  remotes/origin/develop

同時にブランチ切り替えもしたい場合はこう↓

git checkout -b develop origin/develop

ん?じゃあこのdevelopブランチは最終的にmasterブランチにも反映しなきゃいけないんじゃ?
っていうときにマージという仕組みを使う。今回は「とりあえずgitを操作できるようにする」のが目標なのでいったん省略。

ローカルにコードがある(or これからコードを書く)ので、該当箇所をgit管理したい場合

(1) リポジトリ作成

まずhttps://github.com/ など使う場合はそちらにログインし、新規にリポジトリを作る。

(2) git管理したい場所に移動

コードを置いてる場所に移動する

cd [git管理したい任意のディレクトリ]

たとえば...

Cドライブ
 └ project
  └ hoge_project
   └ 99_src
    └ HelloWorld
     └ index.html
     └ css
     └ ...

HelloWorldディレクトリ以降をgitにあげたい場合は、このようになる

cd C:\project\hoge_project\99_src

指定したディレクトリの配下がgit管理されることになる。次の初期化をすることで、これがローカルリポジトリになる。

(3) 初期化

以下のように実行すると、ディレクトリ配下が空の場合、ローカルにリポジトリを作成して初期化される。
空でない場合、配置してるファイル達がローカルのリポジトリに変換される。

git init

(4) add & commit する

もし、まだなにもファイルが無い場合は、適当にREADMEという名前の空ファイルを作成しておくこと

addするとローカルリポジトリのインデックスに登録する

git add [ローカルリポジトリに追加したいファイル]

もしすべてのファイルをaddしたいときはこう

git add .

次にインデックスの内容をローカルリポジトリにコミットする

git commit -m "コミットログ"

(5) ローカルリポジトリとリモートリポジトリを紐づける

以上でローカルリポジトリは最新化した。次に、これをリモートのリポジトリにpushする。ローカルだけでgit管理してても意味ないからね。
以下のコマンドでローカルリポジトリとリモートリポジトリを紐づける。

git remote add origin https://~/[さっき作成したリモートリポジトリ.git]

またはこう↓ SSH接続できてるならこのコマンドでOK。

git remote add origin git@github.com:[さっき作成したリポジトリ名].git

※git@~の部分は、githubやgitlabなど使ってるサービスによって異なるので、各サービスの「clone」ボタンからコマンドを確認しよう

(6) リモートリポジトリにpushする

git push origin master

開発中に何度か使うコマンド

やれやれこれでめでたくgit管理できるようになった。
では開発を進めていくわけだけど、だいたい
(1)ファイル編集
(2)git add
(3)git commit
(4)git push
という流れで、キリのよいタイミングで定期的にgitにpushするとよい。
上記でも登場した branch -a add commit といったコマンドは開発中何度も使うことになる。

いまいるローカルブランチと、他のブランチ一覧を確認

間違えて意図しないブランチに書き込まないように、事前に今いるブランチを確認する癖をつけよう。

ローカルブランチを確認する
git branch
リモートブランチを確認する
git branch -r
上記2つを一度に行う
git branch -a

ローカルブランチを切り替える

git checkout [branch名]

↓開発用ローカルブランチを新規作成&ブランチ切り替えするときはこれ
git checkout -b [branch名]

ファイルを編集し...

ファイルの編集内容を確定(commit前に何度してもいい)

git add .

確定したファイルをコミット(push前に何度してもいい)

add済みのファイルをcommitする

git commit "コミットログ"
または
git commit 
するとviが開くので、そこにコミットログ記入

プッシュ

commit済みのファイルをpushする

git pull origin [ブランチ名]

これで編集したファイルをリモートリポジトリにあげられた。
開発中はこの繰り返し。

複数人で同じリポジトリを操作する場合は、マージやらフェッチやら他にも操作が必要になるけど、まず基本的はことは以上となる。

その他便利なコマンド

開発途中で、ローカルのブランチにリモートの内容を取り入れたい

編集中のファイルをすべてcommitしたあとに、

git pull origin [取得したい任意のリモートブランチ名]

編集をすべて取り消す

git checkout .

編集を特定ファイルのみ取り消す

git checkout [ファイルパス]

編集したファイルがあるかどうか確認する

addしてないファイルは赤字、addしたけどcommitしてないファイルは緑字でリスト表示される
すべてcommit済みの場合は何も表示されない

git status

差分をすべて確認する

git diff

差分を特定ファイルのみ確認する

git diff [ファイルパス]

直前のコミットを取り消す(ローカルブランチの編修内容はそのまま)

git reset --soft HEAD^

困ったとき、コミットログ(履歴)など調べる

git  log

ローカルブランチ削除(マージしたかどうか問わず消す)

git branch -D [ブランチ名]

注意事項

  • pushは同じブランチ名に対してしかできない
  • pullはどのブランチに対してもできる
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【環境構築】WindowsTerminal & GitBash

この記事 is 何?

windows10homeにWindowsTerminalインストールして、そこからGitBash使えるようにした手順。
忘れそうなのでメモった。

書いた日:2020/06/27

各種インストール

WindowsTerminal

公式ドキュメント 参照。

git for windows

こちら からダウンロード。
image.png
自動でダウンロードされるらしい。
このときは自動ダウンロードされなかったので、Click here to download manuallyをクリックして手動でexe取得。

インストール時の設定はすべてデフォルトにしました。

設定

WindowsTerminal

フォントの指定

せっかくだからプログラミングフォントにしようぜー
お好みのフォントをインストールして、settings.jsonを修正。

"profiles":{"defaults":[ ]}の中に書けば、全てのlistに対して設定が適用される。
ウチは Source Han Code JP(源ノ角ゴシック)にしてます。

settings.json
"fontFace": "Source Han Code JP",
"fontSize": 10

GitBashを使えるようにする

  1. powershell開いて、guidを新規取得

    [guid]::NewGuid()
    
  2. settings.json修正
    "profiles":{"list":[ ]}の中にPowerShallとかの設定があるはずなので、コピペしてGitBashの設定を作る。
    ※ guidは 1 で取得したヤツを使う。
    こんな感じに設定した。

    settings.json
            {
                "guid" : "{d8b7db0c-378a-4605-abca-65f46997540b}",
                "name" : "Git Bash",
                "commandline" : "C:\\Program Files\\Git\\bin\\bash.exe --login -i",
                "hidden": false,
                "acrylicOpacity" : 0.5,
                "useAcrylic" : true,
                "icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico",
                "startingDirectory" : "D:\\git/"
            }
    

GitBash

日本語対応

日本語のファイルが文字化けするので、~/.bashrcにロケール設定を書いとく。
~/.bashrcは無ければ作る。

export LANG=ja_JP.UTF-8

git config

GitBash開いて、とりあえず下の2つ(commit時のユーザー名とメアド)だけ設定。

.gitconfig
$ git config --global user.name "ユーザー名"
$ git config --global user.email "メールアドレス"
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む