git入れたら最初にやっておきたい設定【gitコマンドを短くする】等

Git

ズボラさん必見。

できること

  • git checkout を git co で短く打てちゃう
  • git pull の警告を出さないようにする!
  • ブランチ名を書かずに、pushできる!

結論

解説飛ばしの忙しい人向け。
詳しい解説は、以降に書いています。

.gitconfig

[alias]
	co = checkout
	br = branch
	cm = commit 
	st = status  
	sh = stash
	dmb = "!f () { git checkout $1; git branch --merged|egrep -v '\\*|develop|main'|xargs git branch -d; };f"
	pullc = !git pull origin $(git rev-parse --abbrev-ref HEAD)
[pull]
	rebase = false
[push]
	default = current

環境

  • VSCode
  • Ubuntu 22.04
  • WSL2 (Linux)
  • Windows

gitコマンドを短くする設定

毎回、git checkout とか git branch とかを打つのが
超超超~~~~~面倒なので、簡単にする。

※gitlenseも使ってますが、
※チェックアウトとかはコマンドの方が個人的に楽なので、
※こっち使ってます

1. 設定ファイルを開く

$ ll ~/.gitconfig 
-rw-r--r-- 1 username username 265 Mar 10 18:13 /home/username/.gitconfig

# 無かったら作成
$ touch ~/.gitconfig

2. 魔法の言葉を登録する

魔法の言葉(エイリアス)を登録します。

これをしておくと、
git checkout が git co で打てます。

私の設定はこちら↓

// .gitconfig 

[alias]
	co = checkout
	br = branch
	cm = commit       # 基本 gitlense の gui 使うので、使用頻度低い
	st = status       # 基本 gitlense の gui 使うので、使用頻度低い
	sh = stash
	dmb = "!f () { git checkout $1; git branch --merged|egrep -v '\\*|develop|main'|xargs git branch -d; };f"
	pullc = !git pull origin $(git rev-parse --abbrev-ref HEAD)

基本こんな感じで使ってる何してる
checkoutgit cogit co -b feature/new-branchcheckoutとbranchを同時に実行。feature/new-branchというブランチを作成して、ブランチを切り替える。
branchgit brgit br feature/new-branchfeature/new-branchのブランチに切り替える。
commitgit cmgit cm -am ボタン追加ステージングして、「ボタン追加」メッセージつけて、コミット、を同時に実行。
statusgit stgit stステージングの状況とか確認
stashgit shgit sh list
git sh apply
git sh pop
スタッシュした一覧を表示
スタッシュしたものを適用
スタッシュしたものを適用+スタッシュ削除
branch -dgit dmbgit dmb mainmainブランチにチェックアウトして、マージ済みのローカルブランチを削除。
※新規で作成したpushしてないブランチも消えちゃうので注意・・・!pushしておこう。
省略pullcgit pullc今いるブランチをpullする

pullの警告を出さないようにする

エイリアスの下にこちらのコードも追加しておきます。

[pull]
	rebase = false

これは、pullした時の挙動を設定するものです。(詳しい説明は割愛します)

なぜこの設定が必要かというと、
git pull をすると、あるときから以下の警告が出るようになったので、それを表示させないためです。

hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint: 
hint:   git config pull.rebase false  # merge (the default strategy)
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint: 
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.

こちらは、Git 2.27.0 で導入された警告のようです。

警告のとおり、以下のいずれかをコマンドで実行すれば警告はなくなります。

  • git config pull.rebase false ←今まで通りでいい人はこれでOK
  • git config pull.rebase true
  • git config pull.ff only

私は、git config pull.rebase falseを選択しましたが、
.gitconfigに以下のように書いても同じなので、初めからファイルに書いてしまっています。

[pull]
	rebase = false # git config pull.rebase false

現在のブランチでpushする

pushするときに、いちいちブランチ名を打つのが面倒なので、省略する設定をしました。

通常は、以下のようにコマンドを実行すると思います

$ git branch
feature/my_branch

$ git push origin feature/my_branch

これを以下のコマンドだけで実行させます。

$ git push

設定方法は、.gitconfigを設定するか、コマンドで設定するかです。

.gitconfigに直接書く方法

[push]
	default = current

コマンドで設定する方法

$ git config --global push.default current

これで設定できたはずです。

ひとりごと

エイリアスないと生きていけない。

コミット(commit)・ステータス確認(status)・差分比較(diff)・コミットを変更(revert)は、
VSCodeの標準機能「ソース管理」でやったほうが
圧倒的にやりやすい。

※左のメニューバーにあります。

VSCodeのパッケージ(プラグイン)
GitLense」は、コミット履歴等が見れるので、
こちらも入れておくと良い。

VSCodeのプラグインについてはこちら↓

コメント

タイトルとURLをコピーしました