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

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

Git Bashで`tree`コマンドを活用する方法

### Git Bashで`tree`コマンドを活用する方法

今回は、Git Bashでディレクトリ構造を視覚的に表示する`tree`コマンドの設定方法と、それに伴う日本語の文字化け問題の解決方法について解説します。

#### 1. Git Bashでの`tree`コマンド活用法

LinuxやMacのターミナルでは、`tree`コマンドを使ってディレクトリのツリー構造を視覚的に表示することができます。しかし、Git Bashではこのコマンドはデフォルトでは利用できません。その解決法として、次のような設定を行います。

##### `alias` コマンドの役割

`alias`コマンドは、コマンドのショートカットや別名を設定するためのコマンドです。これにより、長いコマンドや複雑なコマンドを短縮形で簡単に実行できるようになります。

例えば、`alias ll=’ls -la’`と設定すると、`ll`と打つだけで`ls -la`コマンドが実行されるようになります。

##### `tree`コマンドのエイリアス設定

`~/.bashrc`に以下の行を追加します:

“`bash

元記事を表示

Gitの「スナップショット」とは? 容量の心配は必要ないの?

### Gitの「スナップショット」とは? 容量の心配は必要ないの?

Gitを学ぶ過程で「スナップショット」という言葉を耳にすることが多いかと思います。この記事では、その概念と、ディスク容量にどう影響するのかを簡単に解説します。

#### 1. Gitスナップショットの基本

スナップショットとは、ある時点でのプロジェクトの全体の状態を指します。写真を撮ることを考えるとわかりやすいですね。写真は撮影した瞬間のシーンの「スナップショット」と言えます。Gitのスナップショットも同じような概念です。

#### 2. しかし、実際の動作は…?

ここで疑問が湧いてくるかと思います。巨大なファイルやプロジェクトを毎回完全に保存していたら、PCの容量はすぐにいっぱいになってしまいますよね?

しかし実際はGitは非常に効率的な方法でデータを保存しています。

– **新しいファイル**:初めて追加されたファイルはそのまま保存されます。
– **変更されたファイル**:変更部分だけ新しく保存されます。
– **変更がないファイル**:前のバージョンと全く同じファイルに関しては、再度保存するので

元記事を表示

Gitのエディタ設定とそのメリット

### Gitのエディタ設定とそのメリット
今回は、Gitを使った際に必要となる「エディタ設定」について学びます。この設定を理解することで、Gitをもっとスムーズに使えるようになります。

#### 1. Gitとは?

Gitは、コードのバージョン管理をするためのツールです。複数の人が同じコードに取り組む際に、変更履歴を追跡したり、異なるバージョンのコードを統合したりするのに役立ちます。

#### 2. なぜエディタを設定するの?

Gitを使って作業する際、特定の状況でテキストエディタが起動します。たとえばVSCodeをGitのエディタとして設定すると、Git関連のテキスト入力作業がVSCode上で行えるようになります。

**設定方法**:
“`bash
git config –global core.editor “code –wait”
“`

#### 3. `–wait` オプションとは?

`–wait` オプションは、VSCodeがGitからの入力を待機するためのものです。具体的には、`git commit` などのコマンドでVSCodeが起動した際、こ

元記事を表示

【Rails7】seedファイルへ画像を追加(ActiveStorage使用)

タイトル通り、ActiveStorageを使用してseedファイルへ画像の追加を行っていきます。

記事を書いている私の状況としては

ECサイトをbootstrapのテンプレートを使用して開発中。

データベースへ反映(追加)したデータをrailsのviewで確認が取れるまで行えました。

# 環境

Dockerで作成したコンテナの内部でRailsを動かしていきます。

基本的にコンテナ内部でrails cを使用してデータの中身を確認しつつ進めていきます。

# 細分化して考える

ペアプロしていただいたHCメンバーの方から「何事も細かく切り分けて行う」癖をついてた方がいいとアドバイスをいただきました。

特に初めて触るorあまりよくわかっていないもので「〇〇をする」というのはハードルが高い。

高いハードルはまずは細かく切り分けてアプローチのかけ方を変えた方が実践的かつ良質な経験値と時間を得られることを教えていただきました。

## 画像の表示に係るプロセス

今回は「画像を表示させる」のがゴールです。

そこで、漠然としてしまっている途中のプロセスを明確にして作業を進めます。

元記事を表示

boxにgitリポジトリを作って運用する

boxにgitリポジトリ…我がプロジェクトではgithubとか契約してくれないし、ファイルサーバはgitしか用意されない。それしかない。絶望だ!

boxでコミット履歴を管理するのは厳しい。
調べるとDropbox上にgitを使ったり、boxでgitを使ったりしている記事はあるけれど、チームで実運用しているだろうか?
boxではローカルキャッシュが常に最新ではないため、gitのpullするとエラーが出たりする。
1人だけでbox上のgitを使っているならば問題ないが、他人と共有するなら頻繁にエラーが出ることになる。

box driveのローカルキャッシュを一律最新更新するコマンドは無い模様。
仕方ないのでWin10/11にあるcertutil コマンドでファイルのハッシュを計算することで強制的にbox上のGITリポジトリのローカルキャッシュを最新化した。
当然全ファイル最新化するので多少時間がかかるし、ネットワークから全量取り寄せするので転送量も増加することに注意が必要。

“`
#どこかからかもらってきたスクリプトを改造
for %%I in (
##ここがbox

元記事を表示

Gitのインストール

Windows11(64ビット版)にGitをインストールした手順を記録します(2023年10月)。

## Gitのインストール
Gitのダウンロードページ[「git – Downloads」](https://git-scm.com/downloads)にアクセスし、「Download for Windows」をクリックする。

git (1).jpg

ページ内のStandalone Installerの下の「64-bit Git for Windows Setup.」をクリックし、ダウンロードする。

git(2).jpg【Git】強引にプッシュ

# はじめに
* リモートリポジトリにpushしようとした時にエラーで失敗したため原因をしらべた
# 原因
* リモートの履歴がローカルより進んでいると、履歴同士の競合が起きてエラーで push は失敗するらしい。
# 解決法:git push [-f,–force],[–force-with-lease]
git pushの各オプションで**強制的にプッシュ**する。
## 1. git push -f,–force
“`git: -f,–force
git push -f origin master
git push –force origin master
“`
* まず初めに“`git push -f“`と“`git push –force“`は強制的にプッシュするコマンドで、基本的に同じ動作をする。どちらを使うかは好み。
* 使用する注意点として、チームなどで個人ではないときにこのコマンドを使うと他のメンバーに影響を及ぼす可能性がある。**共有されたブランチ**はできるだけ、強制上書きは避ける。
## 2. git push –force-with-

元記事を表示

コードレビューを楽にするgit diff / git apply

### たまにある悩み
コードレビューしてるとき、実装者が何を意図して変更したのか分からないことがたまにある。

例えば、「テストNGを修正する」っていうタイトルだけの情報量の乏しいチケットが切られてて
プルリクエスト(PR)にも、「テストを修正しました」みたいな浅いことしか書いてないとき。(本来チケットかPRに詳細を補記するべき。。)

こういうPRをレビューするとき、修正コードが何を意図したものなのか知るために、まず修正前のブランチで目的(どのテストが落ちてたか)を確認して、その後に修正後のブランチで動作確認(テストが直ったか)を確認する必要がある。

また、実装者が何をしたいかは分かったとして、コードレビューの段階で、ある部分のコードがなぜ必要?か気になったりとか、より良いコードを提案したいけどちょっとだけ動作検証したいときに、PRと睨めっこしながら該当部分をコメントアウトしたりとか、変更したりすることがあると思う。

こういうのを楽にやる方法を知ったので、共有させていただきたい。

### コマンド
“`
git diff A..B | git apply
“`

A :

元記事を表示

初心者が初心者に教える初心者のためのGit&GitHub 2

## はじめに
二回目の投稿です。だいぶ間空いてたのですがサボってました()新卒にして半年で転職したので色々いそがしかったんです(言い訳するな)
今回も自分が勉強していたところをまとめたいと思います

## コミット前の変更の取り消し
リポジトリ内のファイルを間違えて消してしまった場合はcheckoutコマンドを利用します。試しに前回の復習も兼ねてコミット⇒プッシュしたものを削除して取り消すところまでやります。
~~~
$ touch git.py
$ git add git.py
$ git commit -m “どうせ削除される”
$ git push origin main
~~~
これでgit.pyファイルがリモートリポジトリにも反映されました。次にリポジトリからファイルを削除してみます。
~~~
$ rm git.py
$ git chekuout git.py
~~~
こうすると消したはずのgit.pyが元に戻ってきます。
git checkout .と入力すると、すべて変更前に戻すことができます。
それでは、コミットしてしまった場合も見てみましょう。変更をリセットする場合

元記事を表示

【React, Next.js】アプリ作ってGithubにデプロイしてVercelに同期してみた #1

はじめに

初心者ログなのでご愛嬌でよろしくです!
参考程度でご了承を。全3回くらいで投稿していく予定。

開発環境(2023/10/9現在)

  • 環境構築済み
  • macOS Ventura 13.6
  • エディタVScode
  • node v18.17.1
  • npm 9.6.7,/li>
  • “dependencies”: {
    “@testing-library/jest-dom”: “^5.17.0”,
    “@testing-library/react”: “^13.4.0”,
    “@testing-library/user-event”: “^13.5.0”,
    “react”: “^18.2.0”,
    “react-dom”: “^18.2.0”,
    “react-scripts”: “5.0.1”,
    “web-vitals”: “^2.1.4”}

事前準備(私自身の環境構築)

元記事を表示

git 復習 備忘録

# Git の基本

https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-Git-%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E5%8F%96%E5%BE%97

https://backlog.com/ja/git-tutorial/intro/02/

# ワーキングツリー、インデックス

https://kray.jp/blog/expound-git-add/

# untrackedとは
https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#:~:text=Untracked%20basically%20means%20that%20Git%20sees%20a%20file%20you%20didn%E2%80%99t%20have%20in%20the%20previous%20snapshot%20(commit)%2C%20and

元記事を表示

【Git】アクセストークンを更新したときの処理

# はじめに
* **アクセストークン**とは、GitHubがパスワードでの認証を廃止したため、その代わりに使われる**一時的に付与されるパスワード**。
* 作成したアクセストークンの期限が切れたため更新方法を実施した。
# 1. アクセストークンを生成する
① GitHubを開き右上のプロフィールアイコンをクリックし、次に“`[Setting(設定)]“`をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2726212/e1aa95b0-05a6-0fb6-c18f-86ac2449ecd5.png)

② 開いたら一番下の [<>Developer settings(開発者設定)] をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2726212/ada4f02c-de5f-f1e1-ad30-1c6a23d0cadc.png)

③ 開いたら一番下の

元記事を表示

【Git】ブランチ名の変更

# ローカルブランチ名の変更
“`git
$ git branch -m 古いブランチ名 新しいブランチ名
“`
* 今いるブランチの名前を変更する
“`git:現在のブランチ名を変更する
git branch -m 新しいブランチ名
“`
# リモートブランチ名の変更
!. ローカルブランチ名の変更方法通りに、ローカルブランチ名を変更する。
2. 古いリモートブランチを削除する
“`git
git push origin –delete 古いブランチ名
“`
3. 新しいブランチ名をプッシュしてリモート分拉致を作成する
“`
git push -u origin 新しいブランチ名
“`
# おわりに
## 参考文献
Gitでローカルブランチ、リモートブランチの名前を変更(リネーム)する方法

https://genzouw.com/entry/2022/07/19/171240/3027/#

元記事を表示

Brunoを利用してAPIコレクションをファイルで管理

– API開発においてPostmanのようなテストやドキュメントに便利なクライアントツールを日々利用しています。
– 今回はそれらの中から[Bruno](https://www.usebruno.com/)という最近リリースされたAPIクライアントツールを利用した記録をします。

## 概要
– オープンソースのAPIクライアントツール。
– コレクションをファイルシステム上にテキストで管理するため、バージョン管理システム(Git等)を用いることが可能。
– [Bru](https://www.usebruno.com/bru)というシンプルなマークアップ言語を利用。

## 環境
– 今回Brunoを試すにあたって利用した環境は以下です。
– Mac OS 13.4.1
– deno 1.37.1
– Bruno 0.21.0

## 手順

### サンプルAPI作成
– Brunoを利用するにあたり、対象となるAPIが必要です。
– 今回は[Deno](https://deno.com/)を利用して以下のようなGETとPOSTのみの簡単な「**TODO A

元記事を表示

Git コマンドまとめ

自分用にGitを使う際のコマンドを記録していたので,共有します.
使えそうであれば,ご活用ください.

:wq : 保存して終了
:q! : 保存せず終了
i : 入力モード
esc : 入力モード終了
rmdir : ファイルの削除
pwd : カレントディレクトリの表示
ls : ファイル一覧の表示
ls -a : 隠しディレクトリも確認
git : ヘルプの表示
git config ―global use.name “Keishi”
git config ―global user.email “(mail adrress)@gmail.com”
git config ―list : 登録情報の確認
(My workディレクトリを作成し、そこにリポジトリを作成. 作業履歴は ”.git” という隠しディレクトリに記録)
mkdir mywork
cd work
git init : レポジトリの作成
git status : リポジトリやステージングエリアの状態の確認
→”Initial comit” = 初期状態
→ ”Untracked files” = まだ仮登録されてい

元記事を表示

【Git】現在のディレクトリがGitで管理されているか確認する方法

## 確認方法

次のコマンドを実行するとカレントディレクトリがGitリポジトリであれば`true`,Gitリポジトリでなければ`false`を返します。

“`terminal
git rev-parse –is-inside-work-tree
“`

元記事を表示

GitHub プロジェクトのコミット履歴をクリアする手順

# GitHub プロジェクトのコミット履歴をクリアする手順

こんにちは、株式会社船井総研デジタルの @fsdg-adachi_h です。今回は GitHub プロジェクトのコミット履歴をクリアする手順を紹介します。
![git_on_ubuntu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/18551138-271d-3126-d564-0f0061b46b47.png)

## 実現すること

GitHub プロジェクトのコミット履歴を完全に削除します。ただし、ソースコードは現在の内容を維持します。

:::note alert
GitHub プロジェクトのコミット履歴を完全に削除することは、**通常は非推奨**であり、実施することは検討すべき重大な行動です。コミット履歴を削除すると、プロジェクトの歴史が全て失われます。
:::

## master ブランチのコミット履歴を削除する手順

プロジェクトをチェックアウトします。

“`
$ cd TO_LOCAL_GITHUB_

元記事を表示

特定のディレクトリ以外はgit監視対象から外す

– 以下では`themes/sample/`以外の`themes/`にあるファイルやディレクトリをgitignoreに設定しています。
– 逆に、`themes/`の中の`sample/`以外は監視対象から外しています。
– ポイントは`/themes/*`ここでアスタリスクを指定してることかな。

###### .gitignore
“`
# 必要なテーマ以外を監視対象から外す
/wp-content/themes/*
!/wp-content/themes/sample/
“`

元記事を表示

【Git】プルとフェッチ、マージの違い

# はじめに
リモートリポジトリの内容をローカルリポジトリに反映させる時に**git pull**だけを使っていたが、**git fetch**と**git merge**でもできることを知って調べた。
# pull、fetch、mergeの違い
## git fetch
* リモートリポジトリのmasterブランチからローカルリポジトリのアップストリームブランチ(**origin/master**)に反映させる。
“`git
$ git fetch【リモートリポジトリ】
“`
## git merge
* ローカルリポジトリのアップストリームブランチ(**origin/master**)からローカルリポジトリの**master**ブランチに反映させる。
“`git
$ git merge 【ブランチ名】
“`
## git pull
* **リモートブランチの状態をローカルブランチに反映**
* ローカルの作業用ブランチまで一気通貫で最新の状態に更新したい場合は**git pull**
* mergeまで一気に行なうため、ローカルのブランチと**コンフリクト**が起きやすい

元記事を表示

git log 逆順でログを表示する

# 概要

– git logコマンド時間の昇順で表示する方法をメモ的にまとめる。

# 内容

– 下記コマンドを実行するとgitのコミットログを時間の昇順で表示する。

“`
git log –reverse
“`

元記事を表示

OTHERカテゴリの最新記事