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

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

gitlabでアクセストークンを用いたリモートとの通信

## 概要
アクセス権限で保護されたgitlabのリポジトリと通信する必要があったので、
その方法を備忘録としてまとめた。

## アクセストークンの発行
gitlabのアクセストークンは以下の記事がわかりやすかった
– オプションなどについて網羅的にまとめられている
https://www.gitlab.jp/blog/2021/12/06/access-token/

– アクセストークン発行がわかりやすくまとめられている
https://capibara1969.com/55/

## アクセストークンをリモートURLに設定する
リモートURLを確認
`git remote -v`

リモートURLを設定
`git remote set-url origin {リモートURL}`

リモートURLは以下の法則性がある
`https://{new access token}@github.com/{username}/{repository name}.git`

これで通信できた。

元記事を表示

git mv でファイル名変更をRenameと認識させよう

Git管理をしているソースに対して、ファイルの名前を変えなきゃいけない状況が起きることがある。
ソースコードを修正せず、ファイル名を変更するような状況…
例えば、ファイル名を間違えたとか、大文字小文字を間違えたとかそんな話の時だ。

## 普通にファイル名を変更した場合
エクスプローラーなどで、作業ファイルを直接変更した場合、どうなるか?
下記のようなファイルを、直接別の名前に変更する。
#### 変更前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565426/7802a516-f89b-c928-6d9b-29da52203649.png)
#### 変更後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565426/5643ae3b-b5e9-3e21-d390-de8f28e386dd.png)

#### git statusで状況を見た場合
この状態で`git status`

元記事を表示

AWS CodeCommit の HTTPS Git 認証情報を生成

# 事前知識

https://qiita.com/ryome/items/efd37c3a49b54859ba68

https://qiita.com/ryome/items/ff2804be600cd5dcd61a

# AWS IAMアカウントの作成
1. IAMコンソールを開く。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/0452b1ab-89c9-1fe9-80b3-ac9896c60514.png)
2. ユーザーの詳細を開く。
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449867/ef8d1a25-08d4-2387-a8aa-bd6828c1235f.png)
3. 認証情報の `認証情報を生成` を押下する。
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44986

元記事を表示

DelphiのIDEでバージョン管理(git)の設定方法

“` bat
C:\>git config –list
user.name=takanaweb5
user.email=12345678+takanaweb5@users.noreply.github.com
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411106/74eb1f0e-7183-b34e-0a1d-b7dd9d7ad6d9.png)

元記事を表示

MacOSをVentura(13)に上げたらGitとXcodeを認識しなくなった

# 結論
“`
% sudo xcode-select -switch /Library/Developer/CommandLineTools
“`
を実行したあと、`~/.zshrc`の`SDKROOT`の行を以下のように修正した。
“`
export SDKROOT=”/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk”
“`
ファイル名の`MacOSX13.1.sdk`はバージョン番号が人によって違うとおもう。

# 経緯

MacOSをVenturaに上げたところ、Gitを認識しなくなった。

“`
% git –version

2023-01-03 18:36:20.234 xcodebuild[19006:5027592] Writing error result bundle to /var/folders/rq/6yk7prw57gxfc_jmg4jj69_00000gn/T/ResultBundle_202

元記事を表示

git mergeしたらnot something we can mergeが出たので解決してみた

今回はgit mergeを実行しようとした以下のエラーが発生した

“`
merge: sigh-up – not something we can merge
“`

解決策

ブランチ名をコピペしたらいけた。

ブランチを確認して、マージしたいブランチ名をここでコピーします。
“`git
git branch
filling-in-layout
* main
modeling-users
rails-flavored-ruby
sign-up
static-pages
“`

コピーしたマージ名をペーストしてあげると解決できました。
“`
git merge <マージ名> #マージ名を入力するときだけペーストする。
“`

考えられる原因

おそらくタイプミスなのですが、ぱっと見はよくわかりませんでした。なので、この手のエラーが出たらとりあえずブランチ名をコピペしてみるといいかもしれないです。

元記事を表示

GitHubの設定をしてみた

#### Ⅰ.この記事を記載した理由
① 初心者向け
② 仕事でSVNやTortoiseGitのみしか使ってない
③GitとGitHubは同じだと思ってる
④グーグル先生に質問すると、断片的な情報しかもらえず混乱するサイトばっかだった。

自分は、②と③で改めて私物PCで設定すると驚いた。
また、最初は自分の調べ方が悪いのか、断片的なことしか出てこなかった。たぶん、仕事で理解してる単語のみ入れてたから。

#### Ⅱ.環境
注意)PCのOSはWindows11です。
   MacとLinxの方はご了承ください。でも、一部読み替えれば理解はできるはず。

#### Ⅲ.「Git」と「GitHub」は別物だ
”Git”という文言がくっついているため、両方とも同じように感じる。
だが、以下の内容により別物だ。

– 「Git」→ ローカルのパソコンで編集作業を行いファイルの修正履歴も管理できる分散型
バージョン管理システムである。

– 「GitHub」→ Gitを用いたソフトウェア開発プロジェクトのための共有ウェブサービス

#### Ⅳ.自分のPCに設

元記事を表示

【Git】Untracked filesの意味と対応方法について。git cleanで解決する!

# 概要
* `git add`した時に、以下メッセージが返されることがあったので、その対応方法をメモしておきます。

“`terminal
Untracked files
(use “git add …” to include in what will be committed)
“`

# Untracked filesの意味・対応方法
* Untracked filesとは、未追跡のファイルという意味。「ステージング(git add)していない新しいファイルがあるぞ」ということです。

* アトラシアンのgitチュートリアルである[Git Clean | Atlassian Git Tutorial](https://www.atlassian.com/ja/git/tutorials/undoing-changes/git-clean)には、以下のように記載されています。

>Untracked files are files that have been created within your repo’s working directory but have not

元記事を表示

Gitでコミットしたメッセージを後から変更する方法

## 環境
Mac(M1, 2020)
vscode5

# [概要]
Gitでコミットメッセージを間違えてしてしまった。
すでに同じような記事ありますが、調べていくと思ってたより複雑だったので備忘録的に残しておきます。
(個人的には、“`git commit –amend -m コミットID “変更したいメッセージ” “` でできると勝手にイメージしてました?)

※今回は3番目にコミットしたメッセージを変更したいのでその方法です

## 2つ以上前のコミットメッセージを変更する

#### 1.“`git log –oneline“`で変更したいコミットを確認
“`
7ae1955 質問欄エントリーポイント作成
33b8358 質問欄作成
0336e1c 解答欄エントリーポイントをインポート  ←ここを変更したい!!
b539167 質問欄エントリーポイント作成
6f72911 質問欄作成
fdc485d 解答欄エントリーポイントのインポート
87b5141 test
cc7728c 解答欄を表示
2938347 datasetを取り出した
9903bb2 エン

元記事を表示

【Git】末尾に改行があるべき!? \ No newline at end of fileの意味とその対応方法!

# 概要
* `git diff`で差分を確認したところ、`\ No newline at end of file`というエラーが表示されました。何も変えていないファイルなのになぜ?と思い、調べてみました。

“`terminal
\ No newline at end of file
“`

# 原因・解決方法
* 上記のエラーメッセージは、改行を入れたら出なくなりました!
* 参考文献:[git :: 「No newline at end of file」の対処](https://tm.root-n.com/unix:command:git:operation:no_newline_at_end_of_file)

* [【vim】No newline at end of file](https://www.softel.co.jp/blogs/tech/archives/7278
) にはこのように記載があります

> POSIX的にはテキストファイル末尾には改行があるべきらしく、vimでテキストファイルを開いて保存すると改行が付く。

> 混乱のもとは、ファイル

元記事を表示

Git fatal: Need to specify how to reconcile divergent branches.を解決

## 環境
Mac(M1, 2020)
vscode5
git version 2.37.1

# [概要]
gitでコミットメッセージを間違えてしまい変更後pullしようとしたらエラーにぶつかった。

## ぶつかったエラー
fatal: Need to specify how to reconcile divergent branches.
![スクリーンショット 2023-01-01 11.25.50(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884551/8c1b9a31-f90b-3f7e-a979-da10831d4e25.png)

翻訳・意味
致命的: 分岐ブランチを調整する方法を指定する必要があります。
## やったこと
解決策 1: マージ戦略に切り替える
ローカル ブランチにないリモートの変更がある場合は、解決する必要があります。デフォルトの Git の動作はマージです。これにより、ローカル ブランチに新しいコミットが作成され、それらの変更が解決されます。g

元記事を表示

【CakePHP】git cloneして開発環境構築

# 0. はじめに
大阪の受託開発エンジニアの、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
CakePHPプロジェクトを`git clone`して、`vendor`や`.env`,`app_local.php`ファイルを作って`bin/cake server`するまでのメモです!

## 0-1. 目次
> [1.環境構築](#1-環境構築)
> [2.初期設定](#2-初期設定)
> [Reference](#reference)

## 0-2. 前提条件
– Gitインストール済み
– GitHub登録済み

## 0-3. 開発環境
|key|value|
|:–:|:–:|
|OS|macOS|
|FW|CakePHP|
|バーション管理|Git/GitHub|
|パッケージ管理|Composer|

# 1. 環境構築
## 1-1. git clone
“`terminal:local
$ mkdir cakephp
$ cd cakephp
$ git clone https:

元記事を表示

【Laravel】git cloneして開発環境構築

# 0. はじめに
大阪の受託開発エンジニアの、kazumakishimoto([@kazuma_dev](https://twitter.com/kazuma_dev))です!
Laravelプロジェクトを`git clone`して、`vendor`や`.env`ファイルを作って`php artisan serve`するまでのメモです!
(※初期設定は必要に応じて実施してください。)

## 0-1. 目次
> [1.環境構築](#1-環境構築)
> [2.初期設定](#2-初期設定)
> [Reference](#reference)

## 0-2. 前提条件
– Gitインストール済み
– GitHub登録済み

## 0-3. 開発環境
|key|value|
|:–:|:–:|
|OS|macOS|
|FW|Laravel|
|バーション管理|Git/GitHub|
|パッケージ管理|Composer|

# 1. 環境構築
## 1-1. git clone
“`terminal:local
$ mkdir laravel
$ cd laravel
$ git cl

元記事を表示

vs codeでgitにpushしようとしたら rm: .git/refs/heads/master 2: No such file or directoryを解決

## 環境
Mac(M1, 2020)
vscode5

# [概要]
vscodeで画像のようにpush使用としたら突然できなくなっていた。
![スクリーンショット 2022-12-31 10.56.51(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2884551/121b437b-1835-bfe6-0041-e4825d0c492f.png)

## ぶつかったエラー
“`
rm: .git/refs/heads/master 2: No such file or directory
rm: .git/gc.log: No such file or directory
fatal: bad object refs/heads/main 2
fatal: failed to run repack
fatal: bad object refs/heads/main 2
error: github.com:aoi-0358/redelivery-app.git did not send a

元記事を表示

GitLab 修正、プッシュ、マージリクエストの流れ

# GitLabでのマージリクエストの手順
マージリクエスト⇒GitHubでいうプルクエストのこと


1git clone
2ブランチ作成(移動)
3ファイル修正
4プッシュ
5マージリクエスト

## 1 git clone
※ディレクトリ毎でしたclone出来ない
⇒ファイル単位でのclone×

“`
git clone URL(git@X.X.X.X~~~)
URLはgitlabのブラウザ上で確認できる
“`

## 2 ブランチ作成(移動)
“`
git checkout -b ブランチ名
ブランチを作成して移動するコマンド
“`

## 3 ファイル修正
Viコマンドなどで直接修正したり、統合開発環境などで修正

## 4 プッシュ
“`
git add .
git commit -m “修正内容の説明”
git push origin ブラウザ名
“`

## 5 マージリクエスト
①ブラウザの画面で操作する。
②左サイドバーの「ブランチ」をクリック
③対象のブランチを選択
④「マージリクエスト」をクリック
⑤「作成マージリクエスト」ボタ

元記事を表示

Linux VMで開発の際のaliasやブランチ設定の追加を自動化してみた

最近VMで開発することが多くなっているのだが、その際のエイリアスなど毎回同じものを追加しているので自動化してみた。

以下のことをしたい

– gitコマンドのエイリアス追加
– ブランチ表示

そして上記のコマンドがすでにファイルに記載されていたら再度追加するのを防いでおきたい。
それは `grep -qxF “${stmt}” filename` でできるらしい(以下参照)。

https://stackoverflow.com/questions/3557037/appending-a-line-to-a-file-only-if-it-does-not-already-exist

シェルスクリプトは以下

“`alias.sh
#! /bin/sh

# useful aliases when development in VM

HOMEDIR=”/home/vagrant”

touch $HOMEDIR/.bash_aliases

stmt=’alias gst=”git status”‘
grep -qxF “${stmt}” $HOMEDIR/.bash_ali

元記事を表示

【Git】git pushしたらrejectされた時のエラー解決方法!non-fast-forwardやgit configも対応!

# 概要
* git pushしたら以下エラーと遭遇したので、その対応方法を記しておく。
* ` ! [rejected] …error: failed to push some refs to…`
* `Updates were rejected because the remote contains work that you do…`
* `! [rejected] …(non-fast-forward)`
* `You have divergent branches and need to specify how to reconcile them`

# エラー内容
* いつものように`git add .`と`git commit`を実施してから`git push origin xxx`したら、以下エラーメッセージが返された。

“`terminal
To xxxxxxxxx.git
! [rejected] feature/1 -> feature/1 (fetch first)
error: failed

元記事を表示

サブディレクトリでhuskyを使用する

## TL;DR

– huskyの実行ファイルはGitの`core.hooksPath`で設定される
– Gitにはそもそもhooks機能があり、huskyはその実行ファイルを可視化しているだけ

## 前置き

`husky`と呼ばれる、Gitのあらゆるアクションに付随してコマンドを実行してくれる便利な存在があります。代表的なものはpre-commitでlint等を動かしてくれるものでしょうか。lintはついつい実行し忘れてしまうので、commit前に自動で実行してくれると便利ですよね。

huskyはnpmモジュールなので、基本的にはnodeを使用するディレクトリでinstallすればよしなに使えるようになるのですが、`package.json`と`.git`を別階層に存在させたい、そんなときもあると思います。例えば、下記のようなディレクトリ構成を持つときです。

“`bash
$ tree
.
├── back
├── front
│   └── package.json
└── .git

“`
このようなときに、`front`ディレクトリで`husky`をインストールす

元記事を表示

【備忘録】 Git コマンド

## git rm

git rm ファイル名
ファイルをステージングエリアから削除する。

作業ディレクトリからも削除される。

普通に作業ディレクトリでファイルを削除して git add するのと同じ結果が得られる。

## git mv

git mv ファイル名1 ファイル名2
ステージングエリアと作業ディレクトリにおいて、ファイル1の名前をファイル2に変更する。

こちらも、作業ディレクトリで名前変更して git add するのと同じ結果が得られる。

## git add

git add -p
ステージングエリアに追加(add)すべき変更部分を手作業で選択する。

## git reset

git reset ファイル名
ステージングエリアをリセットしてファイルをコミット予定からはずす。

##### 強制的にoriginの最新のマスターに更新

git reset –hard origin/master

## git checkout

git chaeckout — ファイル名
checkout はブランチを切り替

元記事を表示

gitファイルに差分が反映されなくなった

皆さんはgitでバージョン管理してますね。今回はgitで、私のその日の差分が反映されなくなったので、その時の状況と、その解決策をメモします。

##### 状況
いつものように分岐したブランチで作業をしていて、一区切りついてコミットしようとした時にその不具合は起こりました。
昨日はちゃんと作業した分が反映されていましたが、**今日になり**、差分が反映されなくなっていしまいました。
色々調べて、改めてファイル構成を確認しましたら反映されていないファイルには、なぜか.gitファイルが生成されていました。
>project1/
 ├ project2/
 ├ eproject3/
 ├ project4/
 │ └ .git/ ←いつの間にか生成されていたgit
 └ .git

それがいつからあったのか、gitコマンド操作をミスして、作成してしまったのか、謎でした。
##### 解決方法
なので、その.gitファイルを削除してみました。そしたらちゃんと今日作業した分が反映されました!最悪今日の作業分が無しになるのかと思い、ちょっと萎えていましたが、直りましたのでよかったです。
今でも謎

元記事を表示

OTHERカテゴリの最新記事