今さら聞けないGit 

今さら聞けないGit 

不要なローカルブランチを一括削除したい

# 結論
“`
git branch –format ‘%(refname:short)’ | grep -vE “^(main|release|$(git branch –show-current))$” | xargs -n 1 git branch -D
“`
このコマンドで任意のブランチとカレントブランチ以外を一括で削除できます。

### 溜まっていくローカルブランチ
レビューしているとローカルにブランチが溜まっていきますよね?
私は溜まっていました。。

定期的に`git branch -d`で一つずつ削除していたんですが、たまにマージされていないとかでエラーが発生して地味にストレス。。。

しかしまとめて消すのはmainとかカレントブランチとか気にしないといけない。
そんな葛藤を一発で解決するコマンドです!

### 解説

1. ブランチ名のリストアップ
`git branch –format ‘%(refname:short)’`
ローカルリポジトリ内の全てのブランチ名を短い形式(ブランチ名のみ)で取得します。

1. 特定のブランチを除外
`grep -v

元記事を表示

Gitでユーザー情報を設定する方法:グローバル設定とローカル設定の違い

## アジェンダ

Gitでは、コミットやプッシュの際にユーザー情報を設定する必要があります。ユーザー名やメールアドレスは、プロジェクトごとに個別に設定することもできますが、システム全体で統一することも可能です。ここでは、Gitのグローバル設定とローカル設定の方法、そしてその違いについて簡単にまとめます。

## 1. グローバル設定の方法

グローバル設定では、Git全体で一貫したユーザー情報を使用することができます。この設定は、すべてのリポジトリに適用され、設定を個別に行う必要がありません。グローバル設定は以下のコマンドを使用して行います。

### ユーザー名とメールアドレスのグローバル設定

まず、ユーザー名とメールアドレスを設定するために以下のコマンドを使用します。

“`bash
git config –global user.name “Your Name”
git config –global user.email “your-email@example.com”
“`

これにより、Gitのすべての操作でデフォルトのユーザー名とメールアドレスが使用されます。

元記事を表示

[Git] cherry-pickを使用したブランチ操作

# 概要
`Git`の操作で`cherry-pick`を使って`PR`(Pull Request)を作成した為、その手順を備忘録としてまとめました。

# cherry-pickの概要
## 機能
– 主(軸)となるブランチに対して、特定のコミットのみを適用する際に使用するコマンド
– 複数のブランチで同じ内容が含まれる場合、コンフリクトの可能性がある為、注意が必要

## cherry-pickの視覚的な例
1.**初期状態**
– `main`ブランチと`develop`ブランチがそれぞれ異なるコミット履歴を持っている

![init.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/664659/4d032642-1a0b-817c-36e0-50d6719956b4.png)

2.**cherry-pickのプロセス**
– `develop`ブランチにあるコミット`C`と`D`を`cherry-pick`し、`main`ブランチに反映させる
– これにより、`main`ブランチが最新の状態となる

元記事を表示

既存のローカルプロジェクトをgitを使ってネットワークフォルダ上でバージョン管理する

# はじめに
Visual Studioのgit機能においてリモートリポジトリを登録後、
pushをしたところエラーが出てしまい、原因が分からず
最初から作り直すことになったので備忘録として残します。
Windowsにおける共有フォルダ(UNCパス上)に
リモートリポジトリを作成して登録し、pushするまでを記事にしました。

# 実施内容
## Visual Studio内リポジトリを作成
### ローカルリポジトリを作成
Visua Studioのgit機能を使用してローカルリポジトリのみを作成
コマンドから作成する方法は下記を参考

https://qiita.com/fujisawatk/items/ae7e7752be228cf82b1f

## UNCパス(サーバー上のファイル)にリモートリポジトリを作成
### 作成したディレクトリに移動

“`
cd Z:\test\eposA
“`
### gitフォルダを作成

“`
mkdir git
“`

### Gitリポジトリを作成

“`
git init –bare –shared
“`
:

元記事を表示

コードレビュー前に git rebase -i してコミット履歴をきれいにする

# はじめに

レビュワーにとってコミット履歴は追いやすさはとても大事だと思う一方で、最初からきれいな履歴を保つのはけっこう難しいです。修正が漏れたり、あとから必要な箇所が分かったりして、コミット履歴が予想より膨らむことも多々あるのが実際の開発です。

https://qiita.com/_mi/items/f477e95a864474187e3d

# あとから履歴を書き換える

そんなときはこのコマンド(`git rebase -i`)です。

平たく言うと、コミット履歴の編集、統合、順番の変更などができるコマンドです。

https://tracpath.com/docs/git-rebase/

# 使い方

例えば以下画像のような、「前のコミットで修正漏れてたのでしゃーなしワンモアコミットしちゃった」みたいなケースを考えます。

![rebaseの動機.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3388832/e6ba3494-4d63-860a-2b85-09d9711e28e6.png

元記事を表示

Gitコミットの著者情報を修正する方法

## 問題

プライベートリポジトリへのコミットで、誤って関係ない情報のGit設定で作業してしまい、著者情報が間違ってしまいましたので、修正の過程をまとめてた内容です。

“`bash
commit abc123def456ghi789jkl101112mnop131415qr (HEAD -> main, origin/main)
Author: incorrect_user
Date: Mon Sep 22 11:03:45 2024 +0900
push 3
commit stu161718vwx192021yz222324abc252627de
Author: incorrect_user
Date: Mon Sep 22 10:56:36 2024 +0900
push 2
commit fgh282930ijk313233lmn343536opq373839rs
Author: user_id Da

元記事を表示

git ブランチとリポジトリの理解(備忘録)

gitをなんとなーく使ってきて1年が経とうとして、いまだにaddとcommitがそれぞれ何をしているのか説明できなかったり、pushしてもなぜかエラーが起きてしまうなどの苦戦していたので、一度しっかりgitを学びました。

# 目次
– [リポジトリとブランチ](https://qiita.com/ymzkjpx/items/00ff664da60c37458aaa#git%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E7%AE%A1%E7%90%86%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF)
– [リポジトリ](https://qiita.com/ymzkjpx/items/00ff664da60c37458aaa#git%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E7%AE%A1%E7%90%86%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF)
– [ブランチ](https://qiita.com/AnRi1202/

元記事を表示

git の過去のコミットのメールアドレスを修正

## 目的
git の過去のコミットのメールアドレスを修正

## 手順
タグ名は維持しつつ、コミットのメールアドレスだけ変更する。
“`
git filter-branch –env-filter ‘
CORRECT_NAME=”Your Name”
CORRECT_EMAIL=”xxx@xxx.com”

export GIT_COMMITTER_NAME=”$CORRECT_NAME”
export GIT_COMMITTER_EMAIL=”$CORRECT_EMAIL”
export GIT_AUTHOR_NAME=”$CORRECT_NAME”
export GIT_AUTHOR_EMAIL=”$CORRECT_EMAIL”
‘ –tag-name-filter cat — –branches –tags
“`

すでに push していた場合、上書きするには、–force オプション必要。
“`
git push origin main –force
“`

今後のコミットのメールアドレスも変更しておく。
“`
git config –globa

元記事を表示

GitHubのプライバシー設定でメールアドレス非公開時にPushがブロックされる場合の対処方法

GitHubのプライバシー設定でメールアドレス非公開設定をしている場合、リポジトリに変更をPushしようとした際、以下のようなエラーメッセージが表示され、操作が失敗することがあります。

“`
$ git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 227 bytes | 227.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: http://github.com/settings/em

元記事を表示

ローマ字入力厳しいって

# はじめに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3690936/0e4473a0-4710-b6d6-c0ae-8f964d20800f.png)
gitを使ったことある人なら誰しもこんな体験したことありますよね。
そう「git」と打ち込んだつもりがローマ字入力になってて「ぎt」と表示されてしまったこと。
今回はローマ字入力になってちょっとだけめんどくさい事を面白く解決してみました。
(※本記事はMacの場合です)。

# 完成形
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3690936/cd406bb5-e941-7fcb-7cda-87a337ab9dca.png)
「ぎt」とターミナルに打ち込み、エンターを押すと某メンズコーチを連想させる「ローマジニュウリョクキビシイッテ」と表示され、次の行から、「git」と打ち込まれた状態に、英語入力で打ち込むことができるようにしま

元記事を表示

【Git】間違えてmasterブランチやdevelopブランチでコミットしちゃった!

どうもこんにちは。

今回は、間違えてmasterブランチやdevelopブランチでコミットしちゃった時の対処法をメモしておきます。

# コミットする前の場合

masterブランチやdevelopブランチで修正をしてしまったが、コミットはしていない!という場合は、以下の手順でコミットすればOKです。

“`sh
$ git status # git addされているファイルがないことを確認
git stash # 変更を一時保存
git checkout -b feature-branch # 新しいブランチを作成して切り替え
git stash pop # 保存した変更を適用
git add <コミットしたいディレクトリやファイルのパス> # 変更をステージング
git commit -m “作業内容の説明” # コミット
“`

# コミットしちゃった時

## 一番頑張る方法

まず何らかの形でコミットしたコードを残します。(メモ帳とか)

“`sh
$ git reset –hard HEAD^1 # 直前のコミットを取り消し
$ git check

元記事を表示

Git&GitHub環境構築マニュアル

GitとGithubの習得はIT企業で仕事をするのにはマストです。システム開発に携わるエンジニアとなる人は必ずマスターしましょう!

# (コマンドリスト)忙しい人のために

|コマンド|機能|
| — | — |
| git branch | ブランチの確認・作成 |
| git checkout | ブランチの切り替え |
| git add | ステージングエリアに登録 |
| git commit | ステージングエリアに登録した内容をコミット |
| git push | ローカルリポジトリの変更をリモートリポジトリに反映 |
| git pull | リモートリポジトリの変更をローカルリポジトリに反映 |

# バージョン管理の概念理解

本記事は、GitやGithubの概念についての理解があることを前提でGitとGithubの使い方の説明を行っています。バージョン管理の概念やGitの仕組みなどについては以下の動画を参考に学習を行ってください。