Gitbashの基本操作まとめ

この記事は約 6 分で読めます。

基本的なPull

RemoteからClone

git clone リポジトリ名

Remoteブランチを見てみる

git branch -a

masterに作業したいBranchをマージ

git merge 対象のブランチ名

自身が今masterブランチに居るとする。
git merge remotes/origin/maininput
これでローカルのマスターブランチにremotes/remotes/origin/maininputがmergeされる

作業が終わったら、同じBranchにプッシュ

git push origin 元となるローカルのブランチ:対象となるリモートのブランチ


git push origin master:maininput
ローカルのmasterブランチの内容をリモートのmaininputにpushする。

基本的なPush

作業がひと段落したら

git add .
これで現在作業している内容をステージングできる

コミットと同時にコメント

git commit -m “コメントメッセージ”
-m “”でコミットと同時にコメントができる。
-mが無いとvimのEditerで作業することになり、めんどくさい。
vimでやる場合は、下記。
aで編集開始
escで編集終了
:でコマンド受付。
wqで保存

コミットを訂正したい場合

git add . で変更ファイルを追加して
git commit –amend “コメントメッセージ”

基本的なreset

git reset –hard HEAD^
で直前のコミットに移動

–hardはコミットと一緒にフォルダの中身のリセットする。
–softはコミットの内容だけリセットする。

基本的な業務の流れ(ローカルにリポジトリがある場合)

RemoteからFetchする

git fetch

origin/developのlogを見てみる

git log –oneline origin/develop

自分の好きな名前でブランチを切りつつ、developをコピーする

git checkout -b 好きなブランチ名 origin/develop

適宜add と commitをする

git add . ←変更履歴をすべてステージング
git commit -m “コミットメッセージを入れる”←ステージングにあるファイルをコミット
git commit –amend ←前回のコミットをやり直し

作業が終わったら、リモートにPushする

git push origin HEAD
これで現在作業中のブランチのHEADをgithubにpushする。

githubでプルリクを作成する

gitで現在追加されているCacheファイルを取り除く

.gitignoreにファイルを追加したので、キャッシュから取り除きたい場合
git rm -r –cached . で一度ローカルリポジトリにあるキャッシュファイルを取り除く。
git add .
で再度追加する。
するとgitignoreが追加される

リモートリポジトリが増えてきたから消したい

git push –delete origin [ブランチ名]

rejectされた

git fetchして
git mergeする

コミットの粒度は?

コミットはできる限り細かくする。
何故なら、コミットメッセージとともに、コードのどの部分が変更されたかがわかるから。
明日の自分は他人なので、できる限り細かくコミットして、そのコミットで何がされたのか分かるようにしておく

branchを切る粒度は?

これも割と細かく切る。
機能ごとに切ってもいいし、実装ごとに切ってもいい。
ただbranchは消耗品なので、mergeしたらすぐに消すようにする。

add とか commitと打つのがだるい

エイリアスを使う。
git config –global alias.cm commit
って感じ
次回からgit cm -m “コミットメッセージ”が使えるようになる。

コードの差分を見たい

git diffで見れる

.gitignoreの書き方

  • 【ファイル名】⇒全サブディレクトリ下にあるファイルorディレクトリを無視
    bin ⇒binファイルもbinディレクトリも無視
  • 【/ファイル名】⇒.gitignoreを置いているフォルダをカレントディレクトリとしたうえで、相対的なファイルorディレクトリを無視
    /bin ⇒ .gitignore直下のbinフォルダだけ無視
  • 【ファイル名/】⇒末尾に/を付けることで、フォルダ全部指定になる。
    /ファイル名/として、直下だけの無視もできるし、ファイル名/で全ディレクトリを無視もできる。

ワイルドカード

  • 【*】は/以外の0文字以上の文字
  • 【?】は/以外の1文字
  • 【[0-9]】で、/以外の0から9の数字
  • 】0個以上のファイル or ディレクトリ ⇒/a/ は/a/b/も /a/b/cも対象
    ⇒/a/**/b/は/a/c/d/bも/a/c/bも対象

特定の拡張子を無視したい

*.cache
配下のcacheとつくファイルを追跡から除外

特定のディレクトリを無視

bin/
obj/
全ディレクトリのbinフォルダとobjフォルダを追跡から除外

コンフリクトが発生したから一旦もとに戻したい

git merge –abort

コンフリクトや無駄なコミットを増やさないために

とりあえず下記のファイルは追跡から除外

  • *.pdb
  • *.cache
  • bin/
  • obj/

日本語化したい(文字化けを直す)

.git\configの中の[core]に下記のように追記する。

[core]
  pager = less -cm
  quotepath = false

またgit bash、windowsコマンドプロンプト、PowerShellでの文字化けを修正したいときは文字コードをja_JP.UTF-8にする。

PowerShell

Set-Item env:LANG -Value ja_JP.UTF-8

コマンドプロンプト

set LANG=ja_JP.UTF-8

git bash

export LANG=ja_JP.UTF-8

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA