- 1. VSCodeで、Gitアカウントを使い分ける
- 2. 知らないとヤバイ‼️ Gitでトラブった時の便利なコマンド
- 3. 20240327 gitのエイリアス、先日の改良
- 4. 【Git】エイリアス設定集
- 5. 20240325 gitあれこれ、プロンプト、ブランチへのpush禁止、aliasに引数
- 6. Git CLI – 1. 基本的なLinux Command
- 7. gitで過去のコミット時点に戻りたいとき
- 8. git コマンドでブランチを変更したりマージする方法
- 9. 【初学者】git add, commit, push の意味・使い方
- 10. 【Git】取り消しコマンドを実行しようとしているあなたへ
- 11. Gitのステージングするの意味について
- 12. 第三のGitHub Copilot CLIの使い方
- 13. gitが大文字小文字を識別しない
- 14. gitのコミット数を取得する
- 15. git 備忘録
- 16. .gitattributes をもっと活用して GitHub 上での開発体験を向上させよう
- 17. Git – 現在ブランチの最新コミットハッシュを別ブランチにCherry-pickしてすぐにpushするワンライナーのコマンド例
- 18. git add .したらエラー→解決方法
- 19. Gpg4winとGit for Windowsでgithubを使う②:gpg鍵生成と登録
- 20. 作業途中だけどgitからpullしたい
VSCodeで、Gitアカウントを使い分ける
# はじめに
基本的にVSCodeで書くコードは業務用のものなので、使っているGitアカウントも同じく業務用のものになります。
ただ、たまに自分用に作るアプリケーションはプライベート用のGitアカウントに紐づけたい・・!ということで、どうしたら良いか調べてなんとか出来たので備忘録を。
※Gitへの理解は正直浅いので、間違った文法、理解の箇所があればご指摘ください・・!
# 対応手順
## 前提
– Windows11
– VSCodeは導入済み
– VSCodeから業務用のGitアカウントを通してリモートリポジトリにpush等ができる状態## ローカルリポジトリのコミッターを変更する
### 1. 自分用アプリケーション等、プライベート用Gitアカウントに紐づけたいプロジェクトを開く
これはタイトルの通りです。
VSCodeで紐づけをしたいプロジェクトを開いてください。### 2. プロジェクト内専用のGit設定を修正する
基本的にGitの設定周りは`git config`に記載されているのですが、これをそのまま書き換えてしまうと、業務用のアカウントでコミットしたいとき
知らないとヤバイ‼️ Gitでトラブった時の便利なコマンド
# 参考動画
# はじめに
エンジニアになってからGitでトラブルはよくあります。そんな時に対処できるコマンドを見事にまとめてくれました‼︎
この動画の内容を使いやすくて、よく使いそうなものの順で書きます。
(自分が使ったことあるのを優先で書きます)# コミットを間違えた時
– 直前のコミットをなかったことにする(取り込まれていないなら)
“`
git reset –soft HEAD^
“`HEADでインデックスを元に戻す
“`
git reset HEAD~
“`HEAD、インデックス、ワーキングツリーを元に戻す
“`
git reset –hard HEAD~
“`– 指定したコミットを打ち消すコミットを作成(取り込まれているなら)
“`
git revert コミットのハッシュ値
“`
– 直前のコミットに上書き
コミットのメッセージを間違えた時に使えます。
“`
git commit –amend
“`
あと***git rebase失敗した
20240327 gitのエイリアス、先日の改良
### Gitの小技
#### あるブランチがマージ済みかどうか、の改善
一昨日かいた「[20240325 gitあれこれ、プロンプト、ブランチへのpush禁止、aliasに引数 #Git – Qiita](https://qiita.com/tontoroRR/items/e40484e97f4e96177dc1#git-alias%E3%81%AB%E5%BC%95%E6%95%B0%E6%B8%A1%E3%81%97%E3%81%9F%E3%81%84)」、このエイリアスは大変無駄がおおかった
`git branch –merged`をつかうともっと短い
“`
in = “!git branch –merged | grep $1 >>/dev/null && echo $1 is merged. || echo $1 is NOT merged. #”
“`#### 今いるブランチ名取得
“`bash
git rev-parse –abbrev-ref HEAD
“`
`alias.now`でエイリアス作っておくと楽ちん#### マージ済みローカル/リモ
【Git】エイリアス設定集
## はじめに
開発で多用するgitコマンドのエイリアス集です。
“`~/.gitconfig“`に直接記載するか、“`$ git config –global alias.** ‘command’“`で自由にカスタマイズできるので、皆さんもぜひ。## エイリアス設定例
“` sh
# ブランチの一覧
git config –global alias.br branch
# ブランチの移動
git config –global alias.co checkout
# ブランチの作成
git config –global alias.new ‘checkout -b’
# 全変更をステージング
git config –global alias.stg ‘add -A’
# ステージングの解除
git config –global alias.unstg ‘reset HEAD –‘
# メッセージ付きコミット
git config –global alias.com ‘commit -m’
# 変更ファイル一覧(簡易表示)
git config –glob
20240325 gitあれこれ、プロンプト、ブランチへのpush禁止、aliasに引数
### git、github
#### プロンプト変更
いままで公式(なのかな?)のプロンプトと補完を使ってた
→ [git/contrib/completion at master · git/git](https://github.com/git/git/tree/master/contrib/completion)けど、偶然もっといい見た目のをみつけたのでそっちにする
→ [magicmonty/bash-git-prompt: An informative and fancy bash prompt for Git users](https://github.com/magicmonty/bash-git-prompt)* 参考までに…
* zsh用: [woefe/git-prompt.zsh: A fast, customizable, pure-shell, asynchronous Git prompt for Zsh](https://github.com/woefe/git-prompt.zsh))
* powershell用: [da
Git CLI – 1. 基本的なLinux Command
:high_brightness: 始めに
Linuxをベースに作られた、最強のVersion管理システムGit/GitHub!
より便利に使用するためのGit CLIまとめ。
「Git CLI – 1. 基本的なLinux Command」編です。●Gitでよく使う、基本的なLinux Command
——————————–$ git
details
使用できるコマンド情報
$ git config
details
環境設定
例)
$ git config –global user.name “任意の名前”
$ git config –global user.email “任意のメールアドレス”
$ git config –global core.editor “任意の基本Editor(notepad++など)”$ pwd
gitで過去のコミット時点に戻りたいとき
変な変更をしてしまい、よくわからないエラーが出た。
間違えて上書きしてしまい、最新の状態でなくなったとき、過去のコミット時点に戻りたいと考えますよね。下記のコードを実行するだけで解決です。
“`
git log
=>commit 123456789
Author: Ubuntu
Date: Wed Feb 8 02:34:41 2023 +0000
“`git log をすると過去のコミットログが出てきます。
戻りたい地点のログを探し、commit の右側にある数字を控えます。“`
git reset –hard 123456789
“`控えた数字を、git reset –hard の後に入れるだけ。
git コマンドでブランチを変更したりマージする方法
▼現在のブランチの状態(一覧)を確認する方法
“`
git branch
“`▼ブランチの作成
“`
git branch ブランチ名
“`▼ブランチを切り替える方法
“`
git checkout ブランチ名
“`▼ブランチの削除
“`
git branch -d
“`
▼現在のブランチ名の変更
“`
git branch -m 新しいブランチ名
“`
▼現在いる場所でないブランチ名の変更
“`
git branch -m 古いブランチ名 新しいブランチ名
“`
▼現在のブランチに、指定したブランチの状態を上書きする
“`
git merge ブランチ名
“`
【初学者】git add, commit, push の意味・使い方
## git add, commit, push の意味・使い方
### はじめに
gitの `add, commit, push` って意味が似てるよな…。
初学者の自分にとってはややこしいものだったので整理しておきます。## ① git add とは?
##### `git add`は、ソースファイルをインデックス(ステージング)に追加するコマンドです。ファイルを指定して追加する場合は以下のようにファイルを指定します。
“`
git add ファイル名
“`
該当フォルダ内の全てのファイルを追加する場合は以下のようにします。
“`
git add .
“`
「.ドット」で、全てのファイルを指定しています。## ② git commit とは?
##### `git commit`は、インデックス(ステージング)に追加されているファイルをローカルリポジトリに追加するコマンドです。
git commit をする際は以下のようにコミットメッセージを追加しましょう。
“`
git commit -m “コミットメッセージ”
“`
:::note info
コミ
【Git】取り消しコマンドを実行しようとしているあなたへ
## はじめに
Gitでやらかしたことはありますか?私はもちろんあります。まあ人間ミスするものなのでそれは仕方ないはず。本当に大事なのはミスをどう取り返すか、だと思います。
慌てて取り消しコマンドを調べて実行したが、思った動作にならず余計に手間が増えると地獄です(自戒)
よほど時間がない場合は別ですが、どう取り消すか分からないままコマンドを実行するのはなるべく避けたいところ。そこで、今回は誤った箇所だけを取り消す方法を紹介します。
– 誤ってステージングしたのなら、ステージング前に戻す
– 誤ってコミットしたのなら、コミット前に戻すといったように、取り消しするにしてもその範囲を最小限に留めることで他への影響を抑えます。
今回は下記のフェーズにおいて、一つ前のフェーズに戻るためのコマンドを紹介します。1. コード修正(ステージング前)
2. git add
3. git commit -m “commit message”
4. git pushpushに関しては1つ前のフェーズに戻る、ではなく1つ前のcommitに戻る、ことになりますがpushの取り消し方法としては
Gitのステージングするの意味について
Gitのステージングする意味が理解できていなかったのでまとめてみた。
## 査読と精度向上
ステージングを使用することで、変更内容をコミット前に査読し、必要な変更のみを含むようにすることができます。
これにより、誤った変更や不必要な変更を防ぎ、コミットの精度を向上させます。## 変更の分割と論理的なまとめ
ステージングを利用すると、大規模な変更を論理的な単位に分割し、意味のある単位でコミットすることができます。
これにより、コミットの履歴が整理され、変更が追跡しやすくなります。## チームでの協力
ステージングを使用して変更内容を査読し、個々のコミットを準備することで、複数の開発者が同じプロジェクトで効果的に協力することができます。
各開発者は自分の変更をステージングし、他のメンバーが変更を取り込む前に確認することができます。## コード品質の維持
ステージングを使用することで、変更内容を細かくチェックし、コードの品質を維持することができます。
これにより、不必要なバグや問題を事前に発見し、修正することができます。## まとめ
総括すると、ステージングは変更の査読、分
第三のGitHub Copilot CLIの使い方
![VNS画面GitHubCopilot文字付き.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44761/74ce79e7-8fba-bc76-cbe6-a9e89ea15925.png)
※左サイドバー(左:第一)、エディター(右上:第ニ)部分でGitHub Copilotを使えていました、ついにターミナル部分(右下:第三)でもGitHub Copilotが使えるようになりました。
第三のGitHub Copilotは GitHub CLIの拡張機能という立ち位置です。
—————————————-
# 用語
– `git`: 分散型バージョン管理システムで、コード履歴を追跡できます。
– `GitHub`: gitリポジトリをホストするWebベースのプラットフォームで、コードの共有などが出来ます。
– `GitHub CLI`: コマンドラインからGitHubの機能にアクセスするためのツールです。
– `GitHub Copilo
gitが大文字小文字を識別しない
# 前置き
あるプロジェクトでタイプスクリプトを書いていたら、ローカルでは動くのに、CD/CIでのみビルドが失敗していました
ビルド結果を見るとどうやらインポートしようとしているファイルが見つからないとのこと。
“`
Module not found: Can’t resolve ‘../atoms/GameStartButton’
“`ローカルには同盟ファイルが存在していたのでリモートを確認すると、`atoms/gameStartButton`が存在していました。
調べると、gitはデフォルトで大文字小文字を識別しないとのこと“`
git config core.ignorecase false
“`
以上のコマンドで検知するようになるとのこと
もしくは、一時的に
“`
mv GameStartButton.tsx GameStartButton.tmp.tsx
“`
みたいな感じでリネームするとよいとのこと
gitのコミット数を取得する
## この記事を執筆しようと思ったきっかけ
業務において各人の生産量を図ることとなり、指標の一つとしてコミット数を用いる事となりました。
目視で数えることも可能だが、あまりにも非効率すぎるのでgitコマンドで取得できないか調査しました。
調査結果を備忘録かねてまとめます。## コミット数の取得方法
下記コマンドを使用することで指定ブランチの全コミットハッシュを取得することが出来ます。
“`
git rev-list {ブランチ名}
“`出力サンプル
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638444/d8c1c0fc-5d0e-a04f-d0ae-6d0fa3e33bbc.png)
### 使用オプションについて
コミットハッシュ数の取得のみでは誰が何件コミットしたか見える化出来てません。
また生産量を図るための指標取得が狙いなので期間指定も必要です。
そこで今回は以下オプションを追加
git 備忘録
## 私のgitの基本的なワークフロー
いつも私がやっているgitのワークフローです。
### 1. git init or git clone
まず、フォルダ(ディレクトリ)をgitで管理するためには、最初にgit init かgit cloneをする必要があります。
二つの違いはこんな感じ。
git cloneを使うとき : インターネット上のディレクトリ”(リモートリポジトリ)を自分のPCでgitを使って管理するとき
git initを使うとき : 自分のPCにあるディレクトリ(ローカルリポジトリ)をgit で管理するとき実際に打つコマンドは下記の通り。
### git clone
“`
git clone <ここをgithubからコピーできるurlに置き換えます>
“`
### git init
“`
git init <ここをgitリポジトリで管理したいディレクトリの場所を置き換えます。(例:git init ~/projectA)>
“`
### 2. git branch(「ブランチは作らないよ」って人はスキップして3に進む)gitにはブ
.gitattributes をもっと活用して GitHub 上での開発体験を向上させよう
.gitattributesを活用しプルリクエストレビューの負荷を軽減して、開発体験を高めた記録です。
:::note warn
※ これは2022-12-15に[個人ブログ](https://bicstone.me)で公開した記事を移植し、[CC0-1.0](https://creativecommons.org/publicdomain/zero/1.0/deed.ja)で提供しています。情報は古い可能性があります。
:::
## 背景
プルリクエストの差分を確認する際、パッケージマネージャーのロックファイルや自動生成ファイル (CodeGen) が差分となって出てくることがあります。
自動生成ファイルは人が読むものではないため、レビューにおいて邪魔に感じてしまいレビュー負荷が増加してしまうことがあります。
また、実際よりも差分が大きく見えてしまうことで、レビュワーがレビューを後回しにしてしまうことで、リリースの速度の低下にも繋がっていました。
そこで、 `.gitattributes` を適切に設定してみることにしました。
## `.gitattributes
Git – 現在ブランチの最新コミットハッシュを別ブランチにCherry-pickしてすぐにpushするワンライナーのコマンド例
# コマンド例
– `some_branch` に cherry-pick & push する例
“`
current_commit_hash=$(git show –format=’%H’ –no-patch) && git switch some_branch; git fetch && git reset –hard origin/some_branch && git checkout -b some_branch-$(date +%s) && git cherry-pick $current_commit_hash && git push
“`# チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ
# プロフィール・経歴
https://github.com/YumaInaura/YumaInaura
git add .したらエラー→解決方法
完全honaki用
悪しからずターミナルで
“`
git add .
“`
したら↓
エラーでた
error: ‘app/’ does not have a commit checked out
fatal: adding files failed## 解決方法
https://qiita.com/udonn/items/3935a338baebe1c67c05
Gpg4winとGit for Windowsでgithubを使う②:gpg鍵生成と登録
## はじめに
構築したGpg4winとGit for Windowsの環境で、鍵を生成してgithubにssh/gpg鍵を登録します。## gpgでの鍵の生成
メールアドレスは,github の Settings > Email で確認できます。「Keep my email private」有効の時は,github が生成したメールアドレスを使います。### gpg鍵生成
gpg鍵を生成します。速度やセキュリティ面からECC鍵,Curve 25519が良いです。
“`
C:\Users\xxx>gpg –expert –full-generate-key
gpg (GnuPG) 2.4.3; Copyright (C) 2023 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.Please select what kind of key you wa
作業途中だけどgitからpullしたい
最近、暖かくなったり寒くなったりコロコロ変化する気温に翻弄されております。
この間初めて作業途中にgitの最新ブランチからpullしてくる必要がありました。
やり方を調べて実際にやってみたので知識の整理も兼ねて先ほどのトピックスについて説明していきたいと思います。# 今回使った方法
今回使った方法としては`git stash`で作業中のファイルを退避させる方法です。
作業を一旦commitし、後にこのcommitを上書きする形で最新のブランチをpullする方法もあるようなのですが、今回は次のcommitができるまでに時間がかかりそうだったのでファイルを退避させる方法を採用しました。# やり方
“`terminal
# git管理下にある編集中ファイルの退避
$ git stash# masterのコミット履歴をリモートリポジトリまで進める
$ git checkout master
$ git pull origin master# 作業中のブランチに戻ってくる
$ git checkout feature-branch# masterブランチの修正内容を取り込