- 1. 不要なローカルブランチを一括削除したい
- 2. Gitでユーザー情報を設定する方法:グローバル設定とローカル設定の違い
- 3. [Git] cherry-pickを使用したブランチ操作
- 4. 既存のローカルプロジェクトをgitを使ってネットワークフォルダ上でバージョン管理する
- 5. コードレビュー前に git rebase -i してコミット履歴をきれいにする
- 6. Gitコミットの著者情報を修正する方法
- 7. git ブランチとリポジトリの理解(備忘録)
- 8. git の過去のコミットのメールアドレスを修正
- 9. GitHubのプライバシー設定でメールアドレス非公開時にPushがブロックされる場合の対処方法
- 10. ローマ字入力厳しいって
- 11. 【Git】間違えてmasterブランチやdevelopブランチでコミットしちゃった!
- 12. Git&GitHub環境構築マニュアル
- 13. github運用: 別々のブランチに cherry-pick / merge した あと merge してみる
- 14. GitHubへのアクセスをSSH認証に切り替える初期設定方法
- 15. Dockerを使ってRedmine/Gitlabを簡単に構築
- 16. Dockerを使ってRedmine/Gitlabの構築
- 17. 【覚書き】Gitのoriginってなんなんだ
- 18. Git エイリアスを使ってブランチ切り替えを楽にする
- 19. Dockerを使ったGitlabの構築
- 20. UnityプロジェクトをGitHubに初プッシュする際の注意点
不要なローカルブランチを一括削除したい
# 結論
“`
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_idDa
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の仕組みなどについては以下の動画を参考に学習を行ってください。
GitHubへのアクセスをSSH認証に切り替える初期設定方法
GitHubへのアクセスをSSHに切り替えることで、より安全にリポジトリを操作できるようになります。この記事では、SSHキーの生成からGitHubへの登録、設定確認までの初期設定方法を分かりやすく解説します。
## 1. SSHキーを生成する
まずは、SSHキーを生成します。以下のコマンドをターミナルに入力してください。
“`bash
ssh-keygen -t ed25519 -C “your_email@example.com”
“`– `-t ed25519` は最新の推奨される暗号方式です。
– `-C` はキーに紐づけるメールアドレスを指定します。コマンドを実行すると、キーを保存する場所を聞かれます。デフォルトの場所(`~/.ssh/id_ed25519`)で問題ないので、そのままEnterを押します。次に、パスフレーズを設定するかどうかを聞かれますが、空でも設定しても構いません。
## 2. SSH公開鍵をGitHubに登録する
次に、生成したSSH公開鍵をGitHubに登録します。
### 公開鍵の確認
以下のコマンドで、公開鍵を確認します。
Dockerを使ってRedmine/Gitlabを簡単に構築
# はじめに
本記事はDockerを使ってRedmine/Gitlabを簡単に構築する方法を紹介します。参考文献にリバースプロキシを使って構築する方法を載せています。よければそちらも参照ください。# 全体概要
全体の概要図を以下に示します。今回はホストOSのポートを2つ用意し、それぞれでRedmine,Gitlabを稼働させる流れになります。![sample2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693671/57c93cf3-8018-bcc2-cf73-bdb4208a475c.png)
# フォルダ構成
以下にフォルダ構成を示します。
“`
├── docker-compose.yml
├── dockerfiles
│ ├── gitlab.Dockerfile
│ ├── mysql.Dockerfile
│ └── redmine.Dockerfile
├── gitlab
├── mysql
└── redmine
“`# 手順
以下にdoc
Dockerを使ってRedmine/Gitlabの構築
# はじめに
今回はdockerを使って1つのマシンでredmine,gitlabを構築する方法について紹介します。# 全体概要
全体の概要を以下に示します。クライアントがホストマシンにアクセスする際に、nginxコンテナを使ってredmineコンテナ、gitlabコンテナにアクセスを振り分けます。今回はrootにアクセスした際にredmineコンテナに振り分け、サブディレクトリでgitlabを指定したときにgitlabコンテナに振り分けるようにします。![sample1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/693671/245666c0-798e-586e-06be-77ff78813107.png)
# フォルダ構成
フォルダ構成は以下です。
“`
├── docker-compose.yml
├── dockerfiles
│ ├── gitlab.Dockerfile
│ ├── mysql.Dockerfile
│ ├── nginx.Dockerfile
│
【覚書き】Gitのoriginってなんなんだ
# 初めに
GitをCLI操作し始めてから、`origin`って単語をよく目にするようになりました。
最近ようやく意味を知ったので備忘としてアウトプットします。# originとは
Gitでブランチをチェックアウトする時、`git checkout`コマンドを使用します。“`sh
$ git checkout -b testBranch origin/testBranch
“``-b`の後が「作成するローカルブランチの名前」と「リモートブランチの名前」なのですが、ここで指定する`origin`がよく分かっていませんでした。
# 前提:ローカルリポジトリは複数のリモートリポジトリと紐づけることが可能
前提としてローカルリポジトリは複数のリモートリポジトリを紐づけることが可能です。`git remote -v`のコマンドで現在紐づいている一覧を見ることができます。
“`sh
$ git remote -v
another https://github.com/username/gitTest2.git (fetch)
another https://github.
Git エイリアスを使ってブランチ切り替えを楽にする
#### リモート追跡ブランチから、ローカルで作業用のブランチを切る際、いちいちブランチ名を入力するのがめんどくさいと感じている方へ
————————-以下のエイリアスを設定することで、現在のブランチ名を基に新しいブランチを簡単に作成して切り替えることができます。
エイリアスの設定
“`
git config –global alias.nb ‘!f() { git switch -c $(git rev-parse –abbrev-ref HEAD)_#$1; }; f’
“`#### 使い方
現在のブランチから新しいブランチを作成したいとき、次のように入力します“`
git nb <新しいブランチ名>例えば、現在のブランチが main で、main_#0001という新しいブランチを作成したい場合
git nb 0001
“`
これにより、main_#0001 という新しいブランチが作成され、切り替えも自動で行われます。#### 説明
エイリアスの定義“`
git config –global alias.n
Dockerを使ったGitlabの構築
# はじめに
本記事では、Dockerを使ってGitlabを構築する方法について記述します。# 環境
今回実施した環境は、以下です。window10のwslを用いてGitlabを構築しました。WSLはホストOSからしかアクセスできないです。そのため、チーム開発用にGitlabを構築したい方はポートフォワーディングなど活用してください。“`
WSL : Ubuntu 20.04
“`# フォルダ構成
フォルダ構成は以下です。docker-compose.ymlでコンテナのビルドをします。gitlabディレクトリはgitlabコンテナのボリュームを永続化するために、ホストOSのボリュームをマウントするためのものです。“`
├── docker-compose.yml
└── gitlab
“`
# 手順
docker-compose.ymlファイルは以下のように記述しました。“`
version: ‘3.6’
services:
web:
image: ‘gitlab/gitlab-ce:latest’
hostname: ‘localho
UnityプロジェクトをGitHubに初プッシュする際の注意点
# UnityプロジェクトをGitHubに初プッシュする際の注意点
UnityプロジェクトをGitHubに初めてアップロードする際には、不要なファイルが含まれないように注意が必要です。特に、プロジェクトのサイズを大きくするだけでなく、他の環境でのビルドエラーやバグの原因となることもあります。そのため、`gitignore`ファイルを作成し、無視するファイルやディレクトリを適切に指定してからプッシュしましょう。
## ステップ1: `.gitignore`ファイルの作成
Gitにアップロードするファイルを制御するためには、`.gitignore`というファイルをプロジェクトのルートディレクトリに配置します。このファイルは、Gitが無視すべきファイルやフォルダをリストアップするもので、Unityプロジェクトには専用の`.gitignore`テンプレートが存在します。
## ステップ2: Unity用の`.gitignore`テンプレートを使用する
GitHubでは、Unityプロジェクト用に適した`.gitignore`テンプレートを公開しています。以下のリンクからテンプレートを