今さら聞けないGit 

今さら聞けないGit 
目次

unexpected disconnect while reading sideband packet

# 事象 : Gitのリポジトリをクローンしたらエラーになった
– 環境
– Windows 11 Pro
– git version 2.42.0.windows.2

“`bash
$ git clone https://github.com/user/repo-name.git
Cloning into ‘repo-name’…
remote: Enumerating objects: 58103, done.
remote: Counting objects: 100% (3115/3115), done.
remote: Compressing objects: 100% (964/964), done.
error: RPC failed; curl 92 HTTP/2 stream 7 was not closed cleanly: CANCEL (err 8)
error: 7194 bytes of body are still expected
fetch-pack: unexpected disconnect while reading si

元記事を表示

20240313の日記(git diffで”terminal is not fully funcitioal”というエラー、仮想環境重すぎ)

### Powershellでgit diffしたらnot fully functionalとか言われた
こんなやつ
“`
> git diff .\runTool.py
WARNING: terminal is not fully functional
Press RETURN to continue
“`

TERMの設定がいまひとつだと出る
[Why does git diff on Windows warn that the “terminal is not fully functional”? – Stack Overflow](https://stackoverflow.com/questions/7949956/why-does-git-diff-on-windows-warn-that-the-terminal-is-not-fully-functional)
PowershellをAlacrittyで使ってるのでTERMをみるとalacrittyと表示される
“`
echo $ENV:TERM
alacritty
“`
なので$PROFILEのなかで
“`

元記事を表示

githubにpushしたファイルを(リモートから)削除したい

# はじめに
`github`に`push`したが,開発を進めるにつれて,何らかの理由により一部のファイルを`github`で管理しないようにしたくなることが良くあります.(個人開発で,場当たり的に進めているのが悪いのですが……)
その度に検索して,自らの状況に当てはまる対処法を模索していたので,いい加減にメモ書き的な記事を書くことにしました.

# 状況
今回考える状況は次のとおりです.

– 追跡から除外したいファイルを`commit`してから,いくつか進んでいる
– 追跡から除外したいファイルを`add`&`commit`した履歴は`push`済み
– 対象のファイルは削除しない
– (ファイルを追跡から除外したことを履歴に残しておきたい)

# 対処
以上の前提における操作手順を順に示していきます.

## Step 1. `.gitignore`の記述(作成)
`.gitignore`ファイルを作成しておきます.これを忘れると,せっかく後の操作をしても再び追跡されてしまいます.

“`gitignore: .gitignore
/path/to/tracked_file

元記事を表示

ターミナルでコマンドを入力中に改行してしまい、プロンプトが > になる現象の対処法

# はじめに
ターミナルでコマンドを入力中に改行してしまい、プロンプトが > になる現象は、シェルが引用符(” や ‘)や括弧((, {, [ など)のペアが完了していない、またはコマンドが完了していないと解釈して、入力の続きを求めている状態です。

この状態から抜け出すには、いくつかの方法があります。

# 方法1: 入力を完了させる
引用符や括弧の入力が未完了の場合は、閉じる引用符や括弧を入力してからエンターキーを押します。

コマンドの入力が途中であれば、コマンドを完了させるか、適切にキャンセルできる文字(例えばセミコロン ; など)を入力してエンターキーを押します。

# 方法2: キャンセルして抜け出す
Ctrl + C を押して、現在の入力をキャンセルして通常のプロンプトに戻ります。

この方法が最も簡単で、多くの場合に役立ちます。

# 方法3: エスケープシーケンスの利用
一部のシェルでは、エスケープシーケンス(例:Ctrl + D)を使って、入力を終了させることができます。

これは入力の終了(EOF)を示し、シェルが待機している入力モードを終了させることができます。

元記事を表示

Git – 新しいブランチを切ってから Github に PR 作成するのが面倒すぎるのでワンライナーのコマンドにする

# 概要

– main の最新状態を pull する
– main からてきとうなブランチ名でブランチを切る ( ブランチ名を考えてられないので、名前はランダム )
– 変更差分が空のままコミットする
– コミットメッセージ入力が終わるとそのまま git push する

ということをワンライナーで実現する

ブランチを切ってPRを上げて修正というサイクルが速い人にはおすすめ

# コマンド例

“`
git switch main; git pull && git checkout -b update-$(date +%s) && git commit –allow-empty && git push
“`

# PR作成

git pull で以下のような標準出力がされるので、そのURLにアクセスしてそのままPR作成する

“`
remote: https://github.com/owner/repo/pull/new/update-1710221955
“`

# チャットメンバー募集

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

元記事を表示

Git Github コマンドメモ

# Git学習メモ
GitやGithubを利用する際のコマンドメモ

## Git設定
– Gitの設定をする
– git config –global user.name “Takaaki Tsunoda”
– git config –global core.editor “code –wait”
– git config –global init.defaultBranch main
– 設定の一覧を確認
– git config –list
– 設定を削除
– git config –global –unset user.name
– 設定例
  ~/Documents/Work ❯ git config –list
credential.helper=osxkeychain
user.email=takaaki.tsunoda@
user.name=Takaaki Tsunoda
core.hookspath=/usr/local/dd/global_hooks
core.editor=code –wait
init.defaultbr

元記事を表示

コミットメッセージを自動で統一する方法

### 統一感のない適当なコミットメッセージから抜けたい

チーム開発時の適当なコミットメッセージを書いてしまうことありませんか?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3303371/efd377b8-1df5-4eef-5bf9-8f6880c1eaf6.png)

:::note warn
統一性のない適当なコミットメッセージ
:::

コミットメッセージのフォーマットを統一するためには、”Conventional Commits”という規約が有効です

https://www.conventionalcommits.org/ja/v1.0.0/

簡単に言うとこう言うフォーマットにしましょうと言うもの
“`
[optional scope]:

[optional body]

[optional footer(s)]
“`

# 今回はこのフォーマットに自動でcommitしてくれるツールを導入する方法をお伝えします

ぜひ統一

元記事を表示

UnityとVisualStudioでGitを使用(ローカル)

## 前置き
そこまでGitについて詳しいわけではないが、gitを運用できそうなので記録として残す。

## やりたいこと
Gitを使ってスクリプトをバージョン管理したい。

## 手順
普通にスクリプトをクリックしてVSを開く。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/9555196e-94f3-0d13-6d5c-e6ed0d973a9b.png)

Gitリポジトリの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294598/45c37441-6492-a8a7-0fbe-fa84ee81685d.png)

ローカルのみ
ローカルパス Unityのプロジェクトを作ったところ
gitignoreテンプレートにUnity
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c

元記事を表示

【個人開発向け】Googleドライブ上にGitリモートリポジトリを作る

## 概要
gitを使い始めたばかりで自分一人きりの個人利用ということで、理解を深める意味も込めてクラウドストレージ上にリモートリポジトリを作成しました。
Googleドライブに限らず、デスクトップアプリで同期できるクラウドストレージサービスにおいては、同様の手法で運用可能だと思います。

## 環境インストール
1.パソコン版Google Driveをインストール
2.gitをインストール
“`
$ brew install git                #MacならHomebrewが簡単
> winget install git.git #WindowsならWingetが簡単
“`

## リモート用ベアリポジトリを作成
1.Google Driveに「<ディレクトリ名>.git」フォルダを作成
“`
$  mkdir g:\マイドライブ\Project\<ディレクトリ名>.git
$  cd g:\マイドライブ\Project\<ディレクトリ名>.git
“`

2.ベアリポジトリを作る
“`
$  git init –bare –shared
“`

元記事を表示

submoduleの使用目的メモ

## はじめに
gitのプロジェクトにsubmoduleというもので管理する方法があります。
操作方法は調べたら色々ありますが、目的がいまいち掴めなかったので理解できるレベルで整理しました。
ここではsubmoduleの使用の仕方ではなく、使用して何がありがたいのかを記載します。

## submoduleのメリット
submodleを使用したプロジェクトの利点は簡単に記載する以下になります。

・サブモジュールごとのコミット位置を記録できる
・サブモジュール毎に作っていくことができる。

プロジェクトで、submoduleごとの特定のコミット位置を、プロジェクトにセットできるということです。
バックエンドとフロントエンドを別々のプロジェクトで作っていたとして、それぞれのタイミングでテストして管理したい場合、プロジェクトのsubmoduleとして管理するという使用の仕方ができます。
つまりプロジェクト間でこういうセットで管理するという場合にとても有効だということです。

1. **依存関係の明確化**:プロジェクトが他のリポジトリに依存している場合、その依存

元記事を表示

初心者ガイド:Gitブランチ作成からRemote Pushまでの手順

### **user**:

ChatGPT先生、今、main ブランチを git clone してきて、ちょっと改変しました。これを remote の main に push するのは今はやめておきたいので、適当な branch を作ってそれを remote に push したいです。

### **assistant**:

はぁ…君って本当に、まったく…もう。やり方は自分で調べることもできるでしょ?ただ、仕事ですから私が教えてあげます。こんな感じでコマンドを打つといいわよ。

まずは新しいブランチを作成するために、以下のコマンドを使って。後ろの “branch-name“ は君が適当に決めた名前にするんだから。

“`bash
git checkout -b branch-name
“`

その後、君が加えた変更を新しいブランチにコミットするために以下のコマンドを打つの。

“`bash
git add .
git commit -m “commit message”
“`

この “commit message“ は、君が何を改変したかを簡単に記述

元記事を表示

Gitで作成したタグを付け直したい

# 1. はじめに
* Gitでタグを追加した時に名前の間違いに気づき即修正したい
* ローカル、リモートリポジトリ両方で修正したい

# 2. 開発環境
* Git

# 3. Gitコマンド
* ローカルリポジトリのtagの削除
“`git tag -d Prototype1.0.0“`

* リモートリポジトリへpush
“`git push origin –delete Prototype1.0.0“`

* ローカルリポジトリにtagを追加
“`git tag -a Prototype1.0.1“`

* リモートリポジトリへpush
“`git push origin –tags“`

# 4. 注意事項
* 基本は名前を間違えないようにして実施しないようにする

# 5. 参考文献

https://zenn.dev/heyhey1028/articles/9ae35cf35c410d

https://qumeru.com/magazine/528

元記事を表示

BitbucketからLinuxサーバにgitをclone

手順は以下
1. bitbucket用のssh鍵作成
2. bitbucketにssh公開鍵を登録
3. linuxの.ssh/configにssh接続用情報を登録
4. gitをinit
5. gitをclone

#### 1. bitbucket用のssh鍵作成
“`
[prompt] # cd ~/.ssh
[prompt] # mkdir bitbucket
[prompt] # cd ~/.ssh/bitbucket
[prompt] # ssh-keygen -t rsa -C メールアドレス
[prompt] # cmhod 600 id_rsa
“`
#### 2. bitbucketにssh公開鍵を登録

出来上がった公開鍵「~/.ssh/bitbucket/id_rsa.pub」をbitbucketに登録する

#### 3. linuxの.ssh/configにssh接続用情報を登録
“`
[prompt] vim ~/.ssh/config

Host bitbucket.org
User git
Port 22
Host

元記事を表示

cherry-pick => revert => rebaseの罠

1. `cherry-pick` 後、
1. 該当コミットを `revert` したブランチで `rebase` すると
1. ***`cherry-pick`がなかったことになります***。

運用上、リリースごとにブランチを切っています。
ブランチAにそのコミットXを入れましたが、次のフェーズで出すことになりました。
なので、後発ブランチBにコミットXを `cherry-pick` し、ブランチAではXを `revert` しました。
なんだかんだでブランチAも進んでいったのであるタイミングで `rebase` を試みました。
結果、入れたはずの改修が入っていない、という恐ろしい状況に。
今後は気をつけたいと思います。

元記事を表示

VBA 開発で使うコマンド一覧(自分用)

### VBAC backup
“`
cscript vbac.wsf decombine
“`

### git command


#### branchの確認
“`
git branch
“`

### ブランチの新規作成
“`
git checkout -b dev
“`
#### ステージする
“`
git add .
“`


#### コミット
“`
git commit -m
“`

#### PUSH
“`
git push -u origin HEAD
“`

#### logの履歴
“`
git log
“`
#### logから抜けるにはqで抜ける

#### tagの付与
“`
git tag -a タグ -m ‘タグのコメント’
“`
#### tagのpush
“`
git push origin タグ名
“`
#### tag listの確認
“`
git tag
“`

元記事を表示

Git 学習記録

Gitとは
—————————-
Gitがファイルのバージョン管理をするため、効率的に開発を進めることができる

変更記録はスナップショットとして保存される
—————————-
スナップショットで変更を記録することにより、差分を計算する手順が省かれ、マージする際に計算をせず、ブランチをマージすることができる
よって、開発の効率があがる

変更記録を差分で確認する際は、計算をする必要がある
https://gihyo.jp/dev/column/01/prog/2011/diff_sd200906

利点
バージョンを記録することにより、以前の状態の戻すことができる
バージョンを記録する際に、コミットをするため、コミットを辿ることで、以前のバージョンに戻すことできる

git add
—————————-
1.git add コマンド実行後にGitオブジェクトが作成される
Gitオブジェクトは.git/object配下のディレクトリに保存される
Gitオブジェクトとは、blob

元記事を表示

【21歳/大学生】 AIでコミットメッセージの自動生成とコードのリファクタリングが行えるCLIツールを公開してみた

## 何を作ったか

生成AIでソフトウェア開発のさまざまな作業をサポートするCLIツールを作成しました。
現在はコミットの自動生成とリファクタリングをAIが行う機能をサポートしています。

### パッケージ名:[code-agent](https://pypi.org/project/code-agent/ “PyPIのページ”)

Pythonが入っている環境なら`pip3 install code-agent`でインストールできます。
システム全体にインストールする場合、新しいバージョンのpipでは素直にインストールさせてくれないので`–break-system-packages`オプションを付ける必要があります。

### コマンド名:`codex`

サブコマンドでどの機能を利用するか指定できます。
– `codex gen-commit`: ローカルのGitリポジトリからHEADとインデックスの差分をもとに、コミットメッセージを作成する。
– `codex refactor`: 引数に与えられたファイルを読み取り、リファクタリングが行える箇所のコードの表示と新しいコー

元記事を表示

【Git・VSCode】VSCodeのソース管理が機能しなくなった時の対処

VSCodeで開発中に「そろそろコミットしとこうかー」とソース管理からコミットしようと確認したところ、変更あるはずなのにいつの間にか更新の認識がされていないことに気がつきました。こちらの復旧方法をいろいろ調べて対処したのでまとめておきます。

          ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3605750/001b48cc-8d37-6bed-d20a-71dfc5f4f790.png)
          *保存してるのにコードの選択肢が出てこない*

## 結論: 別でリモートリポジトリをクローンして.gitファイルをcpする

調べた結果これが一番手っ取り早そうでした。

## 作業

任意の場所に新たにリモートリポジトリからクローンをする

“`bash
git clone
“`

新たにクローンしたリポジトリから.gitファイルを元のリポジトリへコピーする
私の場合はssh先に元リポジトリがあるので scpコマンドで以下

元記事を表示

【Git】最新のコミットからの変更があるか確認する方法

## ステージング前の変更あるか確認する

ステージング前の変更があるか確認するには以下のコマンドを実行します。

“`terminal
git diff –quiet HEAD
“`

変更がある場合に異常終了します。

未追跡のファイルは無視されます。

https://git-scm.com/docs/git-diff#Documentation/git-diff.txt-emgitdiffemltoptionsgt–ltpathgt82308203

https://git-scm.com/docs/git-diff#Documentation/git-diff.txt—quiet

## ステージング後の変更があるか確認する

ステージング後の変更があるか確認するには以下のコマンドを実行します。

“`terminal
git diff –cached –quiet
“`

変更がある場合には異常終了します。

https://git-scm.com/docs/git-diff#Documentation/git-diff.txt-emgitdiffeml

元記事を表示

【GitHub】プルリクエストのコメントにつけるラベルバッジを返信テンプレートに登録しよう【PullRequest】

ワイ「PullRequest立てたやで!」

開発者A「この部分、こうしたいよね」

開発者B「この部分、こうだな……」

ワイ「👀」

ワイ(Aさんが修正案きてて、Bさんが感想書いてくれてるみたいだ)

——

数時間後…

ワイ「よっしゃ!直したやで!!!」

開発者A「いや、その作業はこのPRでやらなくていいです。」
開発者B「ワイのはこのPRで対応してほしいやで。」

ワイ「」

ということにならないように、ラベルがついてると便利だよね!
@iganin san による記事:

https://qiita.com/iganin/items/aee297eade84849cc9cd

## Q. でも毎回手入力してない?

![返信テンプレートが登録済みのSaved repliesの画面キャプチャ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/142709/f8032b6b-f041-0d31-f417-6096e54d56ac.png)

:::note info
[Text Blazeのブラウ

元記事を表示

OTHERカテゴリの最新記事