ズボラさん必見。
できること
- 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)
元 | 基本 | こんな感じで使ってる | 何してる |
---|---|---|---|
checkout | git co | git co -b feature/new-branch | checkoutとbranchを同時に実行。feature/new-branchというブランチを作成して、ブランチを切り替える。 |
branch | git br | git br feature/new-branch | feature/new-branchのブランチに切り替える。 |
commit | git cm | git cm -am ボタン追加 | ステージングして、「ボタン追加」メッセージつけて、コミット、を同時に実行。 |
status | git st | git st | ステージングの状況とか確認 |
stash | git sh | git sh list git sh apply git sh pop | スタッシュした一覧を表示 スタッシュしたものを適用 スタッシュしたものを適用+スタッシュ削除 |
branch -d | git dmb | git dmb main | mainブランチにチェックアウトして、マージ済みのローカルブランチを削除。 ※新規で作成したpushしてないブランチも消えちゃうので注意・・・!pushしておこう。 |
省略 | pullc | git 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
←今まで通りでいい人はこれでOKgit 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のプラグインについてはこちら↓
コメント