今さら聞けないGit 2022年08月24日

今さら聞けないGit 2022年08月24日

【Git】コミット履歴の閲覧

# はじめ
  最近、gitのドキュメントを読んでいます。
  git履歴を確認することは現場でよく行うことです。
  履歴を読み取ることは重要なので、勉強しました。
  また、今後の復習のため、ポイントをメモしました。

参考先:[gitドキュメント](https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E5%B1%A5%E6%AD%B4%E3%81%AE%E9%96%B2%E8%A6%A7)

# 2.3 コミット履歴の閲覧
## コミット履歴の閲覧

コミットを新しい順に表示する。↓
“`
$ git log
“`
表示内容:
– 各コミットについてSHA-1チェックサム
– 作者名
– メールアドレス
– コミット日時
– コミットメッセージ

「git log」のよく使わせるオプション↓
| オプション | 説明 |
| — | — |
| -p | 各コミットのパッチを表示する |
| –stat | 各コミット

元記事を表示

個別にファイルをgit add,git resetする意義

みなさま、gitはうまく使いこなせていますでしょうか?

私ですか?
まだ使いこなせてません(笑)?
gitってコマンドが多いんですよ?

今日はそんなコマンドの中でも基本的な`git add`、`git reset`にフォーカスして記事を書きたいと思います。
ん~よろしく❗❗

# 1. はじめに
本記事は以下の読者が対象です。

– プログラミング初心者
– gitを使ったことがある
– githubを使ったことがある
– ステージングエリアがよく分かってない
– `git add .`/`git reset –hard`しか使ったことがない

# 2. 先に結論
– コミットメッセージを冗長にしないために`git add ファイル名`、`git reset ファイル名`を使う

# 3. gitの一連の流れを再確認
ご存じかとは思いますが、gitには「ワーキングツリー」「ステージングエリア」「リポジトリ」という3種類のエリアが存在します。
一連の流れとしては
`1. 「ワーキングツリー」でファイルの一部変更して~`
`2. git add . でステージングエリアにアップし

元記事を表示

一気にディレクトリ / ファイルを作成するLinuxコマンド

## やり方

* ディレクトリ(単一階層)

“`bash
mkdir {a,b,c,d,e}
“`

結果

“`bash
ls
a/ b/ c/ d/ e/
“`

* ディレクトリ(複数階層)

“`bash
# mkdir -p {a,b,c,d,e}/{e,f}
“`

結果

“`bash
find .
.
./a
./a/f
./a/e
./c
./c/f
./c/e
./d
./d/f
./d/e
./e
./e/f
./e/e
./b
./b/f
./b/e
“`

* ファイル

“`bash
touch {a,b,c,d,e}/{e,f}/test
“`

結果

“`bash
find .
.
./a
./a/f
./a/f/test
./a/e
./a/e/test
./c
./c/f
./c/f/test
./c/e
./c/e/test
./d
./d/f
./d/f/test
./d/e
./d/e/test
./e
./e/f
./e/f/test
./e/e
./e/e/test
./b
./b/f
./b/f/test
./

元記事を表示

Githubを使いながらGitに慣れる

GitやGitHubについて学んだことをアウトプット

・Gitとは?
・GitHubとは?

・Gitを使うために、Gitの環境構築

・Gitのコード一覧
git status gitの状態を確認する
git init レポジトリを作成

元記事を表示

開発でよく使うgithubコマンドをユースケースごとに並べます

## 概要
過去にインターン生にgithubを教えるとき、普段は猿でも分かるhogehogeを読んでくれと言っていたのですが、ユースケースでよくあるケースを用意しておかないとネットで見た内容を鵜呑みにして何も考えずにgit mergeしたりgit rebaseしたり迷走することがありました。

今回は開発していたら遭遇するであろうケースをいくつか並べて、「よくあるユースケースの一連の流れ」を雑多に並べてみました。

## githubあるあるユースケース:

### 最初の儀式

“`
git clone hogehoge

ユーザー名とメアドの設定が必要なら下記
git config –global user.name <ユーザー名>
git config –global user.email <メールアドレス>
“`

### 基本的な反映内容の更新

“`
git checkout develop(devブランチに該当するもの)
git pull
“`

### 一般的な開発スタイルの流れ

“`
# ブランチを作る
git checkout -b <開発するブラン

元記事を表示

[git]操作時にdetected dubious ownership in repositoryが発生するようになった

# 初めに

gitのリポジトリを載せてている環境があり、
Ansibleで環境を新しくサーバを構築したところなぜかgitの操作が通らずに失敗するようになった。
問題となっているのがgitだったのでサーバの中に入り確認したところ、
各種操作で以下のエラーが確認された。

“`
$ git pull
fatal: detected dubious ownership in repository at ‘/xxx/xxx’
To add an exception for this directory, call:

git config –global –add safe.directory /xxx/xxx
“`

以前同じ建て方をした環境では発生せずに新しく立てた環境のみ発生する事象であった。

# 原因

gitのバージョンが2.35.2以上で`safe.directory`パラメータの追加に関連する変更が起因だった。
https://git-scm.com/docs/git-config/2.35.2#Documentation/git-config.txt-safedi

元記事を表示

Gitでmain以外のブランチを一括削除する

タイトルの通り。ちょくちょく忘れるので備忘録として残しておきます。

“`bash
git branch | grep -v main | xargs git branch -D
“`

## ちなみにmaster以外のブランチを一括削除するのはこうする
“`bash
git branch | grep -v master | xargs git branch -D
“`

元記事を表示

【Git】Gitエイリアスの使用

# はじめ

  最近、gitのドキュメントを読んでいます。
  今後の復習のため、ポイントをメモしました。

# 2.7 Gitエイリアス [gitのドキュメント](https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-Git-%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9)

Gitは、コマンドの一部だけが入力された状態でそのコマンドを自動的に推測することはない。「**git config**」でコマンドのエイリアスを設定することができる。
例えば↓
“`
$ git config –global alias.co checkout
“`
こうすると、**git checkout**と同じことが単に**git co**と入力するだけでできるようになる。

新しいコマンドを作成することはできる。(Gitが新しいコマンドをエイリアスで置き換えている)↓
例えば、ステージを解除するコマンド
“`
$ git config –global alias.unstage

元記事を表示

【Git】Gitタグ

# はじめ

  最近、gitのドキュメントを読んでいます。
  今後の復習のため、ポイントをメモしました。

# 2.6 Gitの基本 ータグ

### タグの一覧表示

Gitで既存のタグの一覧を表示する。(アルファベット順表示)↓

“`
$ git tag
“`

パターンを指定してタグを検索する。↓
例えば、1.8.5系のタグのみを見たい場合
“`
$ git tag -l “v1.8.5*”
“`

### タグの作成
Gitのタグには、軽量版と注釈付き版の2通りがある。
軽量版のタグは、変更のないブランチのようなものです。特定のコミットに対する単なるポインタでしかない。

注釈付きのタグはGitデータベース内に完全なオブジェクトとして格納される。
(タグ付けした人の情報とその日時、そして注釈メッセージ)

#### 注釈付きのタグ
Gitでは、注釈付きのタグを作成する。↓
-mで、メッセージを指定する。メッセージを省略すると、エディタが立ち上がるので、記入できる。
“`
$ git tag -a v1.4 -m “my version 1.4”
“`

タグの

元記事を表示

【git rebase】汚いコミットログを一つにまとめて綺麗なコミットログを作る

めちゃくちゃ細かいコミットを作成してしまった時などに使える、コミットログを綺麗にするコマンドを記載しておきます。

※自分用の備忘録のため分かりづらいかもです。もっと詳しく書いてクレメンスの場合はコメントください。

改変したコミットログは元に戻す事はできないので、十分に注意した上で実行してください。
また、今回の方法では`git push -f`を使用しますが、強制pushして良いかはチームメンバーに確認しておいた方が不幸にならずに済むかもしれません。

強制pushはNGが基本かもしれませんが、私は駄々をこねまくってコミットログを偽装しまくっています。

## コマンド

“`
// コミットログを確認する
git log –oneline

// 一つにまとめたいコミットを、まとめて指定する
git rebase -i HEAD~n

// 一番上のコミットを残して、pickと記述されている箇所をsに変更する
// コミットメッセージは変更する必要なし
// pickをsに変更して:wqすると、コミットメッセージの編集に移行するので好きなコミットメッセージを入力する

//

元記事を表示

vscodeにアプデ(version 1.70)で加わったマージエディタ(3-way merge editer)を元に戻す方法

2022年7月の[アプデ](https://code.visualstudio.com/updates/v1_70)で加わったマージエディタ(3-way merge editer)ですが、GUIがガラッと変わってしまってミスが多発したのでアプデ前のGUIに戻すことにしました。
簡単に戻せたのでその共有です。

# 対処方法
## GUI設定から
1. Ctrl+Shift+p(macの場合はCmd+Shift+p)でコマンドパレットを開く
2. 「open setting」と入力し、`Preferences: Open User Settings`を開く
![コマンドパレット](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/619726/405d362e-f99f-45a3-6df3-8578c5ec3705.png)
3. 「merge」を検索し、`Git: Merge Editer`のチェックを外す
![設定でmergeを検索](https://qiita-image-store.s3.ap-northeas

元記事を表示

【Git】リモートで作業

# はじめ

  最近、gitのドキュメントを読んでいます。
  今後の復習のため、ポイントをメモしました。
  案件によくあったことなので、コマンドをまとめました。

# 2.5 リモートで作業

## リモートの表示
今までに設定したリモートハンドルの名前を一覧表示する。↓
“`
$ git remote
“`
リポジトリをクローンしたのなら、originという名前が見える。
origin->クローン元のサーバーに対してGitがデフォルトでつける名前です

リモートハンドルの名前に対応するURLを書き込み用と読み取り用の2つ表示する。↓
“`
$ git remote -v
“`
複数のリモートを設定している場合は、全て表示する。

## リモートリポジトリの追加

新しいリモートGitリポジトリにアクセスしやすいような名前をつけて追加する。↓
“`
$ git remote add
“`

自分のリポジトリにまだ存在しないものを全て取得する。↓
“`
$ git fetch
“`

## リモートからのフ

元記事を表示

【Git】作業のやり直し

# はじめ

  最近、gitのドキュメントを読んでいます。
  今後の復習のため、ポイントをメモしました。
  gitの取り消しコマンドはとても危険です。理解した上で、使用してください。
 

## 2.4 gitの基本 作業のやり直し
### 作業のやり直し
“`
$ git commit –amend
“`
使用ケース:

– コミットを早まりすぎて追加すべきファイルを忘れてしまった
– コミットメッセージが変になってしまった

注意点:
このコマンドは、ステージングエリアの内容をコミットに使用する。直近のコミット以降に何も変更をしていない場合(例えば、コミットの直後に子のコマンドを実行したような場合)、スナップショットの内容は全く同じでありコミットメッセージを変更することになる。

コミット内容=1回目コミット内容+2回目コミット(–amend)の内容。
コミットメッセージ=1回目コミットのコミットメッセージ。

### ステージしたファイルの取り消し

“`
$ git reset HEAD
“`
使用ケース:
– ファイルが両方ともステージさ

元記事を表示

レンタルサーバーを借りてオンラインゲームのWikiサイトを作ってみる #4

## 前回の記事
https://qiita.com/Unirenkon/items/eea0089dec6884d0b2e0

## 今回の作業
GitHub Actionsを用いて、リモートレポジトリのmainブランチにpushした際に本番環境(xserver)に自動デプロイできるようにする

## GitHub ActionsのWorkflowを準備
![スクリーンショット 2022-08-21 23.47.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/296171/2e15f591-05e2-24c7-9d39-6d4075ac90eb.png)

### New workflowをクリックして新しいymlファイルを作成する

中身はこんな感じ

deploy.yml
“`
name: deploy to xserver

on:
push:
branches:
– main

jobs:
deploy:
runs-on: ubuntu-latest

元記事を表示

RundeckのGitHub連携(エクスポート機能)

Rundeckで作成したジョブ定義を、GitHubでバージョン管理できるようにします

## 本記事の概要
RundeckからGitHubへのエクスポート機能の利用方法について書いています
このエクスポート機能により、Rundeckで作成したジョブ定義をGitHubにバックアップが取れるようになります
なお、別環境への移行などを目的としたインポート機能もありますが、ひとまずはこのエクスポート機能が使えるようになれば、設定方法は概ね同じですのでわかると思います

### 前提
– GitHubアカウントを有すること
– 構築済みのRundeck実行環境があること
– [構築のご参考:Rundeckを使ってみた](https://qiita.com/aki-nasu/items/fd24be2566a01ac0935c)

### 本記事で作成する情報
– GitHub
– Rundeck用のリポジトリ
– Personal Access Token
– Rundeck
– Account Profile(GitHubのアカウント名を設定する)
– Key Storag

元記事を表示

Gitコマンドでrbenv version ruby-2.7.4′ is not installedtというエラーが出る

# はじめに

この記事は2022年4月にまとめていた「細かいつまずいたことをメモしておく(4月編)をそれぞれ投稿した内容になります
解決方法が最新でない可能性もありますのでご了承ください

# 問題

Gitコマンドを叩くと以下のエラーが出るようになってしまった

“`
rbenv version ruby-2.7.4′ is not installed
“`

またブランチを変更してもでてしまう

# 解決方法

これはovercommitをインストールしたことに起因していた
overcommitは.gitのホックに直接設定を書き込むためにブランチを変更してもその設定は引き継がれている
そのためブランチを変更して`overcommitがはいっていない状態`にしても動いてしまうのでエラーが発生する

overcommitを追加したブランチを早くマージする必要がありました

元記事を表示

VSCodeのPR見る拡張機能をGitHub Enterpriseで使う

# ? TL;DR
> 設定にGHEの`URI`と`PersonalAccessToken`を入力すると読み込めるようになる

# 手順

1. GHEのURIを設定する
『⌘,』コマンドでSettingsを開く
検索窓に`github-enterprise.uri`を入力
GHEのURIを入力してVSCodeを再起動する

![スクリーンショット 2022-08-21 2.43.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/968526/79b6ca34-9788-53c2-e88e-cb886b69cfbf.png)

2. PersonalAccessTokenを発行する
GHEからTokenを発行*

:::note info
Tokenの発行方法については以下のドキュメントを参照
https://docs.g

元記事を表示

Gitで用いられる操作

# Git使い方入門
今回はGitを使う際の主要な操作の解説を行う。
## 前提知識
操作を行うにあたり、知っておいたほうが良いことについていくつか記入する
### リモートとローカル【ざっくり説明】
リモート:ネットワークに接続された状態(誰でも見れる(非公開の場合以外))
ローカル:個人のPC上にしかない状態(自分しか見れない)

### リポジトリ
貯蔵庫。過去の状態をヒストリーとして保管しておける。

### ブランチ
ある地点のこと。ポインタとして紹介されることが多い。この機能を用いることで、公開しているソースを使用しながらバグ修正を行ったり、新機能の構築ができる。
以下、イメージ図。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2742088/a9ccb6b6-a2a1-78cb-4909-e114142deb7d.png)
## 主要な操作
### フォーク
他者のリモートリポジトリを自分のリモートリポジトリとして使えるようにコピーすること

### クローン
フォークし

元記事を表示

コピペで練習 git コミットとプッシュ

““
# コミット
# ファイルの追加・変更
touch test.txt
mkdir test
touch test/test.txt
sed -i -e ‘s/パノラマ

元記事を表示

git 初期設定おすすめ

git init
↑複数回NG
git config –global user.name “githubのユーザ名”
git config –global user.email githubに登録したメアド

——ここからは意味もわからず使わないこと——
git config –global merge.ff false
→マージのときにファストフォワード起こらない
git config –global pull.rebase merges
→プルのときにリベースする
git config –list
→設定確認

元記事を表示

OTHERカテゴリの最新記事