今さら聞けないGit 

今さら聞けないGit 

GitHub Action 内で .github/workflow 配下のファイルを変更したい

# はじめに

git-auto-commit-action という github action があります

https://github.com/stefanzweifel/git-auto-commit-action

レポジトリの説明を引用すると
> A GitHub Action to detect changed files during a Workflow run and to commit and push them back to the GitHub repository. By default, the commit is made in the name of “GitHub Actions” and co-authored by the user that made the last commit.

とのことで、要するに Github Action のなかで加えられたファイルの変更を検知して、それを実際にレポジトリに commit & push してくれる action です。

どのように使うかというと、例えば `npm run format` などと合

元記事を表示

別ブランチを参照しながら作業するために git worktree を使ってみる

別ブランチを参照しながら作業するために git worktree を使ってみる
=========================================================

解決したいこと
————-

同じリポジトリ内の別のブランチにあるコードを参考にしたい場合、以下のような方法が考えられますが、それぞれ使いにくい部分もあります。

– 別のフォルダに `clone` する
– 同じリポジトリが複数の場所に存在することになるので、管理が煩雑になる
– ブラウザでGitHubを開いてコードを参照する
– 検索しにくい
– GitHub Webベースエディタ(github.dev)で参照する
– 検索もできるし編集もできるが、表示できる件数に制限があったりする
– すべての拡張機能が使えるわけではない

上記以外に`git worktree` というコマンドを利用する方法もあるということで、使い方を調べてみました。

環境情報
——–

| 項目 | バージョン |
|——|———-|
| OS |

元記事を表示

コミットメッセージを変更したい

# 初めに
コミットメッセージを間違えた経験って開発者なら誰でもあると思うんですよ。
初心者からしたらGit周りの操作を間違えると、もう取り返しのつかないことをしてしまった。。。という焦りを覚えるかと思いますが、コミットメッセージの修正はなんて凝ったありません!!
変更方法をまとめていますので、必要なときに見てください。

:::note alert
記載されている内容は、**プッシュする前**のコミットメッセージの変更方法です。
:::

### 目次
* 直前のコミットメッセージを変更する方法
* 2つ以上前のコミットメッセージを変更する方法

## 直前のコミットメッセージを変更する方法
まずは過去のコミットを確認しましょう。
“`
git log –oneline
“`

“`
00000000 直前のコミット //ここのコミットメッセージを変更する
11111111 2つ前のコミット
22222222 3つ前のコミット
“`
今回は、直前にコミットしたコミットメッセージを変更します。
直前のコミットを修正する場合は、`–amend`オプションを使用します。

元記事を表示

gitの初期設定ってどうやるんだっけ?

最近新たな端末でgitに入ろうとしたらエラーで怒られた人間です。
今回の記事ではgitとの接続について説明していきたいと思います。
# はじめに
Gitは、プログラムやプロジェクトのバージョン管理に利用される強力なツールです。複数の人が同じコードベースを効果的に管理し、変更を追跡することができます。この記事では、Gitのインストールからリモートリポジトリのクローンまでの接続手順を説明します。

# Gitのインストール

Gitを利用するためには、まず自分のコンピュータにGitをインストールする必要があります。Windows、Macのそれぞれの環境でのインストール手順は以下の通りです。
### windows
1. 公式の[Gitウェブサイト](https://git-scm.com/)にアクセスします。
2. ダウンロードページからWindows用のインストーラを入手します。

3. ダウンロードしたインストーラを実行し、インストールウィザードに従います。
4. インストール中に設定をカスタマイズするオプションがありますが、初めての場合はデフォルト設定のまま進めることもできます。
5

元記事を表示

【参考記事】git pushでWARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

git pushしようとしたら「WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!」というエラーが出て、そのときに調べて出てきた記事で解決できたのでメモしておきます

https://zenn.dev/fujishiro/scraps/9dcbd03aa608ae

元記事を表示

Githubに新規ブランチを git push した時にすぐにPRを作成する

# 発見

新規ブランチをGithubにpushした時に標準出力されるURLから、すぐPR作成できること気づいた

“`
Create a pull request for ‘branch-name’ on GitHub by visiting:
remote: https://github.com/xxx/yyy-hra/pull/new/branch-name
“`

今まで地味に面倒だったので、これ良いな
( コンソールによってはリンクを Ctrl + クリック / Command + クリック とかですぐにページに飛べるはず)

よく見ると思い切り `Create a pull request for` って書いてあるのにまるで気づいてなかった

ちなみに新規ブランチのpushでないと教えてくれないようだ

# チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

# Twitter

元記事を表示

git リポジトリを clone 後に軽量化する (blobless化)

# 概要・結論

git リポジトリを clone するとき、パーシャルクローンすることで fetch してくるデータサイズを小さくすることができます。

“`shell
blobless clone
% git clone –filter=blob:none git@github.com:git/git.git
“`

同様に、通常の clone をしたあとからでも git repack コマンドを使うことで手元のリポジトリを blobless 化することができます。

“`shell
通常の clone
% git clone git@github.com:git/git.git

手元の git リポジトリは 303MB
% du -hs git
303M git

手元の git リポジトリを blobless 化する (git 2.43.0 以降が必要)
% cd git
% git repack -ad –filter=blob:none –filter-to=pack –no-write-bitmap-index
% git config remote.or

元記事を表示

【Git】コミット履歴を残さずにGitHub経由でコードを共有する

## 想定ケース
Gitについて、
* 書きかけ・未完成のコードを他人へ共有したいけど、コミット履歴を汚すのはチーム的・個人的に良くないと思っている
* 別のPCへコードを移したいけど、コミット履歴を汚したくない

方向けの記事です。コミット履歴を気にしていない方には関係かな。

## 簡単に
簡単に述べると、
* (送信側が)捨てブランチに`commit`&`push`する

ことで共有ができます。GitHubなどで他人から見てもらうだけの場合は、用済みになったらブランチごと削除でいいですね。

もし、他ローカルへ移す場合はここからさらに、
* (受信側が)対象ブランチにて、未完成コードを`push`した捨てブランチを`pull`
* (受信者が)そのまま最新のコミット履歴を削除して、一個前のコミットの状態へ戻る

こうすることで、コミット履歴を汚さずに他PCでも、その時点での開発ができます。こちらの場合も用済みになった捨てブランチを受信者のローカルとリモートからブランチごと削除。

## コマンド
### 捨てブランチに`commit`&`push`

捨てブランチの名前を`tem

元記事を表示

【備忘録】git stash

C: 変更しているファイルを退避
git stash

R: 退避しているファイルを確認
git stash list

U: 退避したファイルを戻す
git stash pop stash@{0}

D: 退避したファイルを削除
git stash drop stash@{0}

D: 退避したファイルを全て削除
git stash clear

元記事を表示

gitでコミットする時に行ごとに削除できるようにする

# 概要
普段チームでゲーム開発をしていると「この行はデバッグ用だから後で消そう」と思っていてもつい忘れてしまうことがありました。そこで、あらかじめ削除したい行には「gitrmline」という文字列を入力しておき、Gitを利用してコミット(正しくはステージ)する際に、自動的にその行のコードを削除してくれる機能を作成しました。
応用すれば無視したり書き換えたりすることも可能です。

# 目的
無視は.gitignoreファイルに記述すればでき、削除も`$ git rm <ファイル名>`でファイルを指定すればできますが いずれもファイル単位です。
ですが、今回やりたい事はファイルの中の「gitrmline」という記述がある行のみを削除することです。
それをgitの`Filter`という機能を使って解決していきます。

具体的には、これが
“` c:Hoge.cs
Debug.Log(“この行は削除したくない”);
Debug.Log(“この行は削除してほしい”); // gitrmline
“`
コミットするときにはこうなるようにしていきます。
“` diff_c:Hoge

元記事を表示

Gitリモートブランチ作成備忘録

Gitに慣れません。
チャットGPTと再度共闘してきたので備忘録を。
環境はdebianです。djangoで作ったPJを対象としています。

#
Debian上で開発中のDjangoプロジェクトをGitHubにアップロードするためには、以下の手順に従って操作します。これには、新しいリポジトリの作成、ローカルプロジェクトの初期化、必要なファイルのコミット、そしてGitHubへのプッシュが含まれます。

### ステップ1: GitHubで新しいリポジトリを作成

1. **GitHubにログイン**: [GitHub](https://github.com/)にアクセスして、アカウントにログインします。
2. **新しいリポジトリを作成**: プロフィールアイコンの近くにある「+」ボタンをクリックし、「New repository」を選択します。
3. **リポジトリの詳細を設定**:
– リポジトリ名を入力します(例:`my-django-project`)。
– リポジトリの説明(オプショナル)を追加します。
– リポジトリの可視性を選択します(公開または非公開)。

元記事を表示

AWS SSO × CodeCommit の認証設定

# はじめに
AWS の CodeCommit を使用してソース管理をしていますが、CodeCommitとGitの設定情報に関して基礎から理解できていなかったため、改めて調べたことを備忘録として残します。恐らく初学者向けです。

# 概要

– git config
– AWS CLI に関するファイル
– ~/.aws/config
– ~/.aws/credentials
– プロファイルの設定
– git config の認証情報に AWSのプロファイルを設定
– 元々やりたかったこと
– 実際に起きていたこと
– 補足

# git config

git config は Gitの設定を行うためのコマンドになり、ここで設定した内容は `.gitconfig` ファイルに保存されます。

例えば、`git config user.email`と実行し、メールアドレス`user@mail.com`を入力すると、

“`.gitconfig
[user]
email = user@mail.com
“`
というように設定されます。

また、設定さ

元記事を表示

【図解】Git でのブランチマージ戦略まとめ

Gitでのブランチのマージ戦略にはいくつかの主要な方法があります。それぞれの方法には特定の使用シナリオと利点があります。ここでは、最も一般的なマージ戦略をいくつか紹介し、それぞれを図解します。

### **1. Fast-Forward Merge**

**使用シナリオ:** ブランチがベースブランチから分岐して以降、ベースブランチに変更がない場合。

**使い方:** **`git merge `**

**図解:**

“`mathematica
A—B—C master
\
D—E feature

After Fast-Forward Merge:

A—B—C—D—E master
“`

### **2. 3-Way Merge (No Fast-Forward)**

**使用シナリオ:** ベースブランチとマージするブランチの両方でコミットが行われている場合。

**使い方:** **`git merge –no-ff `**

**図解:**

“`ma

元記事を表示

git diff でファイル名の変更を表示する

## **はじめに**

Gitは、ソフトウェア開発において広く使用されているバージョン管理システムです。開発者はしばしば、ブランチ間の変更点を確認する必要があります。特に、どのファイルが変更されたかを知ることは、コードレビューやマージ前の確認作業において非常に重要です。この記事では、**`git diff`** コマンドを使用して、変更されたファイルの名前だけを表示する方法について説明します。

## git diff で変更したファイルを比較する

**`git diff`** は、Gitにおいて非常に強力なツールです。このコマンドは、ブランチ間やコミット間での変更内容を詳細に表示します。しかし、時には変更されたファイルの名前だけを知りたい場合もあります。これは、特に多くのファイルが変更されている場合に役立ちます。

変更されたファイルの名前だけを表示するには、**`git diff`** コマンドに **`–name-only`** オプションを追加します。例えば、現在のブランチと **`origin/develop`** ブランチとの間で変更されたファイルの名前を表示するには

元記事を表示

commitをまとめる方法

Gitを使っていると、修正を後で戻したりするために細かくコミットをすることが大いにあるが
それはそれとして、レビューの後はコミットを1つにまとめておきたい…

ということが往々にしてある。

その時のやり方をまとめておこうと思います。

例として、下記のように複数のコミットを用意した。

![image (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565426/51a8328f-7aaf-0556-8f81-e9d3eef4ba0f.png)

このコミットをまずまとめてみます。

### 1. どこまでのコミットを1つにまとめるか?

[git] 複数の commit を1つの commit にまとめる方法

ターミナルから実行する場合は、git lolaのエイリアスを入れたほうがわかりやすくなりそうです。
SourceTreeなどであれば、ツリー上に履歴を見られるのでわかりやすいですが
ターミ

元記事を表示

GitHub(, GitLab, Codeberg etc.)複数アカウント管理のための ssh, git, gh 周辺セットアップ

# 要旨
GitHubアカウントを複数所持している人がそれらを管理する(使い分ける)際にやっておくと便利な設定をまとめました。
(**Mac**ユーザー向けの記事です)

:::note warn
GitHubでは個人が **無料** アカウントを複数所持することは禁止されています。
:::

## `gh`, `direnv` (, `git`)のインストール
“`bash
brew install gh direnv # and git
“`

## 状況想定
あなたは

– `Alice@github.com`
– `Bob@github.com`
– `Mike@codeberg.org`

という3つのアカウントを所有していて、

– デフォルトは Alice
– (カレントディレクトリが `~/dev/repos/github.com/alice` 配下で Alice の `gh` が有効)
– カレントディレクトリが `~/dev/repos/github.com/bob` 配下では Bob
– カレントディレクトリが `~/dev/repos

元記事を表示

Git初心者がGitを頑張って解説してみる

## *今回のテーマ
新入社員の方からGitについての質問をよく受けるので
ざっくりとした解説を作ってみました。
自分自身も歴が浅くGitに慣れていないので勉強も兼ねています。

——

## *目次
[Gitとは](#*Gitとは)
[ローカル/リモート](#*ローカル/リモート)
[クローン](#*クローン)
[コミット・プッシュ・プルなど](#*コミット・プッシュ・プルなど)
[作業の流れ](#*作業の流れ)
[最後に](#*最後に)

——

## *Gitとは
Gitとはソースコードなどのバージョンを管理するための
分散型バージョン管理システムの一つです

※分散型バージョンシステムの他に集中型バージョンシステムがあります
集中型:中央サーバーにリポジトリが配置され、そこに変更が反映される
(サーバーがダウンすると作業ができなくなる可能性がある)
分散型:リポジトリをクローンして、リモートリポジトリにプッシュして変更を反映する
(リモートリポジトリがダウンしても影響を受けない)

バージョンの管理をしないと開発中にバグが起こってしまった時
「あのタイミン

元記事を表示

MacでGit環境構築からGitHubリポジトリ作成まで

MacでGit環境構築と、GitHubのリポジトリ作成までの手順をまとめます。
接続方法はsshを用いています。

# Homebrewのインストール

– [Homebrew](https://brew.sh/)の公式ページからスクリプトをコピー、ターミナルでペースト
下のようなコマンドをコピーできます。
“`
 /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
“`

インストールして、もしパスを通しなさいと言われたら、

“`
echo ‘eval “$(/opt/homebrew/bin/brew shellenv)”‘ >> /Users/ユーザ名/.zprofile
eval “$(/opt/homebrew/bin/brew shellenv)”

“`
ユーザ名は各自変更しましょう。

– インストールできたか確認する

“`
brew -v
“`

# gitのインストール

“`
brew install git

元記事を表示

Gitでパターンマッチングを使って特定のファイルを見つける方法

## **はじめに**

Gitは、ソースコードのバージョン管理システムとして広く使用されていますが、その強力な検索機能をフルに活用している開発者は意外と少ないかもしれません。今回は、Gitのコマンドを使って、特定のパターンにマッチするファイル名を効率的に見つける方法をご紹介します。

### `git ls-tree` **を使用する方法**

`git ls-tree` コマンドは、Gitリポジトリの特定のブランチやコミットに含まれるファイルのリストを表示するのに使います。このコマンドを使って、特定のパターンにマッチするファイル名を検索することができます。

例えば、`develop` ブランチ内で `sample*.schema` というパターンにマッチするファイル名を見つけたい場合、以下のコマンドを使用します。

“`bash
git ls-tree -r develop –name-only | grep ‘sample.*\.schema’
“`

このコマンドは `develop` ブランチのすべてのファイル名をリストアップし、その結果を `grep` でフィルタリ

元記事を表示

【Git】Git初期設定 for Mac OS

## はじめに
MacOSでGit初期設定をする方法についてのメモとなります。
(何回やっても忘れてるので。。😭)

## 環境
■ MacOS
14.0
■ チップ
Apple M2

## 1.Homebrewをインストール
HomebrewはmacOS上で動作するパッケージ管理ツールのひとつとなります。
Homebrewを用いて様々なパッケージをインストールすることができます。

■ Homebrew
https://brew.sh

以下のコマンドでインストールできます。
コマンドが変わる可能性があるので、ホームページで確認するのをお勧めします!

“`terminal:Terminal
$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
“`
 
Homebrewをインストールしたものの、以下のエラーが発生していました。
パスが通ってないことが原因となるため、Homebrewのパスを通すことにより、解決できます。

“`term

元記事を表示

OTHERカテゴリの最新記事