今さら聞けないGit 2023年01月11日

今さら聞けないGit 2023年01月11日
目次

Gitコマンドを用いてブランチ名を変更する方法

## 概要
Gitコマンドを用いてブランチ名を変更する方法を紹介したいと思います。

●内容
– 現在のブランチ名を変更方法
– デフォルトブランチを変更する方法

## 方法
シェルを開いて以下のコマンドを入力します。

### 現在のブランチ名を変更する場合
“`
$ git branch -m {変更前のブランチ名} {変更後のブランチ名}
“`
### デフォルトブランチを変更する場合
“`
$ git config –global init.defaultBranch {変更後のブランチ名}
“`

## 実際の使用例
私の場合はデフォルトブランチ名がmasterになってましたので、米国の歴史や文化の過酷な背景を連想させてしまう可能性がある言葉なので同上の方法を用いてmainに変更しようと思います。

### 現在のブランチ名をmainにする場合
“`
$ git branch -m master main
“`
### デフォルトブランチをmainにする場合
“`
$ git config –global init.defaultBranch main
`

元記事を表示

[自分用メモ]gitのエイリアスやターミナルの設定など

“`~/.bashrc
# ターミナルの色付け
if [ $UID -eq 0 ]; then
PS1=”\[\033[31m\]\u@\h\[\033[00m\]:\[\033[01m\]\w\[\033[00m\]\\$ ”
else
PS1=”\[\033[36m\]\u@\h\[\033[00m\]:\[\033[01m\]\w\[\033[00m\]\\$ ”
fi

# “-F”:ディレクトリに”/”を表示 / “-G”でディレクトリを色表示
alias ls=’ls -FG’
alias ll=’ls -alFG’

# ブランチ表示
source /Library/Developer/CommandLineTools/usr/share/git-core/git-prompt.sh
source /Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
GIT_PS1_SHOWDIRTYSTATE=true
export PS1=’\[\033[32m\]\u@

元記事を表示

GitのVersionのresetとrevert

・ローカルのVersion確認
Short Version コミット名
git log –oneline
 例:306e968 (HEAD -> develop, origin/develop) sync all controlled files
   3366cf8 sn-458
Long Version コミット名
 git log
・resetはそのコミットまでに戻る
 revert そのコミットが削除
 参照:https://zenn.dev/nekoniki/articles/f238efa56eb869
 例: git reset –hard 3366cf8
・強制リモートのreset (-f)
git push origin develop -f

・今のブランチの更新をクリアする
 まず、直近にreset
git reset –hard
 あと、クッリンする
  git clean -fxd

元記事を表示

【Git】ブランチ名を変更する方法

## ローカルブランチ
ローカルブランチのブランチ名を変更するには次のコマンドを実行します。

“`terminal
git branch -m 旧ブランチ名 新ブランチ名
“`

カレントブランチの名前を変更する場合には次のように実行します。

“`terminal
$ git branch -m 新ブランチ名
“`

## リモートブランチ

リモートブランチ名を変更する場合には次の手順でコマンドを実行します。

“`
$ git branch -m 古いブランチ名 新しいブランチ名
$ git push -u origin HEAD
$ git push origin リモートブランチ名
“`

元記事を表示

Backlogのgitでソースを管理する

# 要件
Backlogにソース管理のgitがついているが、どうやって運用できるか。
・ソースバージョンを管理する
・課題と自動関連する
# 分析
AzureのDevopsとGitHubのパイプラインがあるので、CI/CDができますが、Backlogにパイプラインがないです、ソースコントロースしかできないです。
参照: https://qiita.com/richard_hcq/items/b82d801cb2ec42709e5b

# 実現
①ローカルのgitとBacklogのgitをつなぐ
プロジェクトの直下
・ git remote add origin https://ncast.backlog.com/git/Prjxxx/Prjxxx.git
・ git pull
※ 初回目に認証画面が出る(backlogのid,passwordを入れ)
・ Branchの確認
$ git branch -a
remotes/origin/develop
remotes/origin/master
・ 作業ブランチを作成
git checko

元記事を表示

間違ってpushをしてしまった場合の対象法

まず、なにが起きたのか

年があけて、作業開始しようとして画面の矢印部分を押してpullをしたら、知らないうちにコミットしていたものをpushしてしまった。矢印部分のマークはpullとpushを同時に実行してしまうことがわかっていなかくて、はずみで押してしまった。

ミスを気がついてリバートをしたがうまく修復できないという事態になってしまった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/94562/2dddc950-5bf9-7ba6-913e-630f6da6c8e2.png)

調査

普通のpushミスならば
git revertコマンドを使えばpush前までの状態に戻すことができる。
状態を修正してミス前のソースコードと見比べていたが何かおかしい・・

なぜか、revert済みソースコードと元々あった差分が生まれていた。

上の画像にも表示されているが、VSCodeで矢印部分のマークはpullとpushを同時に実行する機

元記事を表示

【Git】Gitで使用するエディタ設定の優先順

## 設定の優先順位

Gitのエディタ設定の優先順位は次のとおりです。

1. `GIT_EDITOR`環境変数
2. `core.editor`設定
– `/etc/gitconfig`
– `~/.gitconfig`または`~/.config/git/config`
– `.git/config`
3. `VISUAL`環境変数
4. `EDITOR`環境変数
5. vi(Debian、Ubuntu の場合は editor)

元記事を表示

Gitの改行コード

## スクリプトがWindowsのLinux仮想環境でエラーになる

他の環境では動いているのに……

“`bash
line 2: $’\r’: command not found
line 5: $’\r’: command not found
line 35: syntax error near unexpected token `$’do\r”
line 35: `do
“`

改行コードの「\r\n」のうち、「\r」で引っかかっている模様。
「\r\n」はWindowsの改行コードですからね。
Linuxの仮想環境の中では動くはずもありません。

で、なんでこうなってしまっているのかというと。

WindowsでGit pullしたときに、改行コードが変更されてしまうからなんですね。

“`
$ git config –global -l
core.autocrlf=true
“`

上記のようになっていると、Windows環境では自動的に改行コードが変換されてしまうんですね。

“`
git config –global core.autocrlf fals

元記事を表示

WSLでVSCODEを使う際の注意点:Gitの差分がVSCODE上で確認できない

## 環境
– Windows11
– AMD Ryzen5000
– WSL2

## 背景
以下を参考にさせてもらってサクッとWSL2にGitをインストールしたときの話

https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-git

https://qiita.com/Michi1090/items/094a13cad3133e97d202

公式にある`git config`の設定も完了してssh接続もできて「gitが使える!」と思った矢先、VSCODE上で青色や緑色で表示される差分(※)が確認できなかった

※[Gutter indicators](https://code.visualstudio.com/docs/sourcecontrol/overview#_gutter-indicators)っていうらしい

ただ、`git push`とかのgitコマンドはすべて使えるしgitに問題があるわけではなさそうだった

## やったこと
VSCODEの拡張機能[Remote Development]

元記事を表示

Git ブランチの使い方

・ブランチとは

 ブランチとは、gitの変更履歴を枝分かれさせる機能である。仕様を変更したいときや新しく機能を追加する際、1つのファイルにコードを書いてしまうとバグが発生した時に全体に影響を及ぼしてしまう。
 そこでブランチを使うことによって、今使っているファイルとは別の場所にコードを書くことができ、たとえバグが起きたとしても全体に影響を及ぼさずにコーディングをすることができるのである。

・使い方

・ブランチの作り方

 ①コマンドプロンプトで”git checkout -b ”作りたいブランチの名前” master“と入れる
 ⇒ `checkout` はブランチを切り替えるコマンド
   `-b` と入れるとブランチの新規作成になる
   ※`git branch “作りたいブランチの名前”` でもブランチを新規作成できる。(切り替えは行われない)
   最後に入れる `master` はmasterブランチから切り替えるという意味になる。

・ブランチの切り替え方

元記事を表示

Git 入門講座 基礎知識編

## はじめに
Udemyのこちらの講座でGitHubの勉強をしたので、メモ代わりに書いていきます。
[もう怖くないGit!チーム開発で必要なGitを完全マスター](https://www.udemy.com/course/unscared_git/)

## Gitは何のために使うのか?
⇨ **ファイルのバージョンを管理するために使う!**
ファイルのバージョンを管理しないと…
・最新のファイルがわからなくなる。
・誰がいつ、何を変更したのかわからなくなる。

**ファイルのバージョンを管理すれば…**
・ファイルの最新の状態がわかる!
・いつ、誰が、何を変更したのかがわかる!
・以前の状態にも戻せる!

## GitHubとは?特徴とは?
⇨ **GitHubとはコードのホスティングサービス**

**GitHubの特徴**
・プルリクエストで複数人開発できる。
・世界中のチームがGitHub上で開発をしている。
・他の人が書いたコードなどを見ることができる。
などたくさんあります。

## Gitの初期設定
ターミナルに自分のGitHubアカウントを認識させます。
`

元記事を表示

Gitチュートリアル

・Gitの始め方

・リポジトリの作成方法

①好きな場所にフォルダを作る。今回は例としてフォルダ名を「tutorial」とする。
②コマンドプロンプトでそのフォルダを指定する。
⇒そのフォルダがデスクトップにあるなら “cd desktop” 、 “cd フォルダ名” で指定できる。
③” git init“と打つとローカルリポジトリが作成される。

・インデックス(ステージ)への記録方法

①コマンドプロントで”git add“と入れると完了
⇒”git add .“とするとすべてのファイルをステージにあげる。

・コミットの方法

①tutorialフォルダの中に、ファイルを作る。今回は「sample.txt」というテキストファイルを作る。ファイルの内容は「Gitチュートリアル」をする。
②コマンドプロンプトで”git commit“といれるとコミットが完了する。
⇒”git co

windows環境でpre-commitを使ってgit hookを管理する方法

# はじめに
mac環境で行っている記事が多かったので書いてみました。

# 環境
Windows 11
python 3.10.4
powershell 5.1
pre-commit 2.21.0

# 手順

## 前提:仮想環境の作成

※以下すべての手順(1~5)は仮想環境上で行われています。
“`powershell
mkdir pre_commit_test
cd pre_commit_test
python -m venv .venv
.\.venv\Scripts\activate
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -For
“`

## 1 pre-commitインストール

“`
pip install pre-commit
“`

## 2 git init
“`
git init
“`

## 3 設定ファイルの作成

※ powershellからpre-commit用yamlファイルを扱う場合、encodeが必要
“`
pre-commit sample-config | o

git add しただけのファイルを git reset –hardで消してしまったときの対処法

Git に慣れてくると、`reset –hard` を多用することになりますが、 **表1** のように `add` しただけのファイルは `reset –hard` で消えてしまう、ということに注意が必要です。

**表1:** `add`/`commit` 有無による `reset –hard` 前後でのファイルの状態変化
|`reset –hard`前|`reset –hard`後|
|—|—|
|`add` していない|ワークツリーにそのまま残る|
|`add` している |ワークツリーから消える|
|`commit` 済み |ワークツリーから消えるが、`reflog` で辿れる|

:::note info
「`reflog` で辿れる」と言っても実際に `reflog` の出力から探すのはそれなりに骨の折れる作業です。
`reset –hard` のような破壊的な操作をするときに共通して使えるテクニックとして、そのような操作をする前に `git tag -f backup` などとバックアップ用のタグを打っておく、というものがあります。 `ref

【初心者にやさしい】イメージで理解する『git コマンド』

# 本記事の目的
 本記事の目的は、 __「イメージのわきずらいgit」に対して、頭の中でイメージしながら使いこなしていけるようになる方を一人でも多く増やすこと__ です。
 そのために一つ一つのgit コマンドを図と共に理解できるように説明していきます。

# gitの3要素
 gitは、「__誰が__」「__いつ__」「__何を__」「__何のために__」変更したのかということを時系列で簡単に把握することができる便利なツールです。
そんなgitには使いこなすために知っておくべき3つの要素があると私は考えています。

* ワークツリー
* ステージ
* ローカルリポジトリ

 以下の図を見ていただくと分かりやすいと思いますが、 __gitでは主にこの3つの領域を駆使して変更履歴を管理していきます。__ これからご説明するコマンドも、この3つの領域を考慮しながら説明させていただくのでしっかりと理解しておきましょう。ただしざっくりとした理解で大丈夫だと思います。
![gitの3要素.jpeg](https://qiita-image-store.s3.ap-northeast-1.am

git initのデフォルトブランチ名をmasterからmainに変更する

[GitHubではデフォルトブランチ名がmasterからmainに変更](https://github.blog/changelog/2020-10-01-the-default-branch-for-newly-created-repositories-is-now-main/)になっているし、`git init`をすると以下のように警告される。

“`shell
% git init
hint: Using ‘master’ as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config –global init.defaultBranch
hint:
hin

git 、DB関連コマンド

自分で使ってて検索するのが時間かかるので、こちらに書きます。
## ブランチの移動
`git checkout [ブランチ名]`
-bオプションでブランチの作成と移動
## git stash
退避したい変更をaddしてgit stash
`git stash list`
で[stash]のIDを見て、下のコマンドでstashの取り出しをする
`git stash apply [stash]`

## DBのリセット
rails db:migrate:reset
rails db:seed

## DBに入ってテーブル更新
rails db
pass:root

### テーブル確認
show tables
select * from (テーブル名)

### DBのアップデート
UPDATE shops SET latitude = 35.689360, longitude = 139.692446 WHERE id=2;

参考URL
https://qiita.com/chihiro/items/f373873d5c2dfbd03250

Gitの使い方

・はじめに

 この記事ではGitの基本的なことや使い方をまとめていく。

・用語の意味

| 用語 | 意味 |
|:—–|:—-|
| リポジトリ | Gitに保存したいファイルを集めたフォルダのようなもの。 |
| リモートリポジトリ | Gitのサーバのリポジトリのこと |
| ローカルリポジトリ | 自分のローカル環境にあるリポジトリのこと |
| ワークツリー | Gitの管理下にあるが、利用者が使用しているディレクトリのこと |
| インデックス(ステージ) | Gitとワークツリーの間にあるGitに登録する前の前座のような存在 |
| コミット | リポジトリに変更を記録すること |
| プッシュ | ローカルリポジトリの変更履歴をリモートリポジトリにアップロード(共有)すること。プッシュを実行するとリモートリポジトリに変更履歴がアップロードされて、ローカルの変更履歴と同じ状態にすることができる。 |
| プル | リモートリポジトリにあるものをローカルリポジトリに上書き又はダウンロードするもの |
| クローン | リモート

GitlabへのSSH接続がTimeoutする場合の処方箋

# Issue

タイトル通り、SSHでGitlabへアクセスしようとしたら以下のようなTimeoutがでてアクセスできない。

“`bash
ssh -vvv git@gitlab.com
OpenSSH_9.0p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/{user_name}/.ssh/config
debug1: /Users/{user_name}/.ssh/config line 6: Applying options for gitlab.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: include /etc/ssh/ssh_config.d/* matched no files
debug1: /etc/ssh/ssh_config line 54: Applying options for *
debug3: expanded UserKnownH

sakuraのレンタルサーバーにあるGitリポジトリにssh公開鍵認証で接続する方法(tortoiseGit編)

sakuraのレンタルサーバーにGitリポジトリを作成したのは良いものの、sshで接続するとプル/プッシュの時に毎回パスワードを要求されて困っていた。
Puttygenで秘密鍵・公開鍵を作成しTortoiseGitに登録する際の注意点を記載する。

# ◆大まかな手順
> ①PuTTYgenで秘密鍵・公開鍵を作成する
 ②公開鍵をsakuraサーバにアップロードし公開鍵の設定をする
 ③tortoiseGitにて秘密鍵を利用する

## ①PuTTYgenで秘密鍵・公開鍵を作成する
– TortoiseGitの中にあるPuTTYgenを起動
  

– Generateボタンを押下