- 投稿日:2020-06-27T17:41:35+09:00
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リポジトリ作ったら最初に使うコマンド
リポジトリに既にコードがあるので、ローカルにコードを持ってきたい場合
(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はどのブランチに対してもできる
- 投稿日:2020-06-27T14:04:24+09:00
【環境構築】WindowsTerminal & GitBash
この記事 is 何?
windows10homeにWindowsTerminalインストールして、そこからGitBash使えるようにした手順。
忘れそうなのでメモった。書いた日:2020/06/27
各種インストール
WindowsTerminal
公式ドキュメント 参照。
git for windows
こちら からダウンロード。
自動でダウンロードされるらしい。
このときは自動ダウンロードされなかったので、Click here to download manuallyをクリックして手動でexe取得。インストール時の設定はすべてデフォルトにしました。
設定
WindowsTerminal
フォントの指定
せっかくだからプログラミングフォントにしようぜー
お好みのフォントをインストールして、settings.jsonを修正。
"profiles":{"defaults":[ ]}
の中に書けば、全てのlistに対して設定が適用される。
ウチは Source Han Code JP(源ノ角ゴシック)にしてます。settings.json"fontFace": "Source Han Code JP", "fontSize": 10GitBashを使えるようにする
powershell開いて、guidを新規取得
[guid]::NewGuid()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-8git config
GitBash開いて、とりあえず下の2つ(commit時のユーザー名とメアド)だけ設定。
.gitconfig$ git config --global user.name "ユーザー名" $ git config --global user.email "メールアドレス"