今さら聞けないGit 2022年12月14日

今さら聞けないGit 2022年12月14日

git addしたけどgit commitしていない変更を取り消す

– git addを取り消す方法です。
ただし、git commitしていないファイルが対象です。
“`
git reset HEAD <ファイル名>
“`
これでgit addだけが取り消されます。

元記事を表示

git addする前の変更を取り消す

– 変更を加えたものの、元に戻したい場合は下記コマンドを適宜実行して下さい。
ただし、addもcommitもしていないファイルのみが対象です。
“`
// 特定のファイルの変更を取り消す
git checkout <ファイル名>

// 特定のディレクトリ以下の変更を再帰的に取り消す
git checkout <ディレクトリ名>

// 全てを元に戻す
git checkout .
“`

正常に作動しているかどうかはgit status -sで確認して下さい。

元記事を表示

git cat-fileでGitとちょっと仲良くなる

この記事は[PONOS Advent Calendar 2022](https://qiita.com/advent-calendar/2022/ponos)の13日目の記事です。
昨日は、@iixd_pogさんの[Unityの画面管理はSceneかPrefabどちらにすべきか](https://qiita.com/iixd_pog/items/148f3c4fb478ec36c9f9)でした。

## はじめに

この記事では`git cat-file`コマンドをご紹介します。
さらに、使い方の解説も兼ねてGitオブジェクトが何なのかを探っていきたいと思います。

個人的に、このコマンドで遊んでみたことでGitの理解が深まったと感じています。
皆さまがGitと仲良くなるための一助になれば幸いです:smiley:

### 動作確認用リポジトリ

記事を書くときに使ったサンプル的なリポジトリです。

https://github.com/honeniq/git-object-hoge

これをクローンして頂ければ、例に出てくるハッシュ値などもそのままで試せると思います。

## `

元記事を表示

commitを分割したいときはこれ!

## はじめに
[Qiita株式会社のカレンダー](https://qiita.com/advent-calendar/2022/qiita-inc)の14日目は @mayobimu が担当します。

間違えてコミットしてしまった時、差分を消す為の上書きコミットを作成→fixup→再度別コミットとして作成し直すことはありませんか?gitが苦手な私にはありました…
調べてみると簡単に分割できたのでその方法を紹介します。

## 前提
以下のb+cをbとcに分割したい

“`
commit ec868 (HEAD -> main)

d

commit 377b

b+c

commit f0d0

a
“`

## 手順
1. `git log`を実行し分割したいコミットの1つ前のハッシュをコピーする

“`
commit ec868 (HEAD -> main)

d

commit 377b

b+c

commit f0d0 #これ

a
“`

2. コピーしたハッシュで`rebase -i ○○`をする

元記事を表示

Git 削除メモ

## ブランチ確認
“`
$ git branch -a
“`
`-a` オプションで、リモートブランチを含んだブランチの一覧も表示してくれるので
個人的には基本つけてます!

## ローカルブラン削除
“`
$ git branch -d 【削除したいブランチ名】
“`

マージしてないとかなんたらで、なんかうまく消えない時
消しても問題ない場合は`-D` オプションをつける

“`
$ git branch -D 【削除したいブランチ名】
“`

消すのしばらく忘れてて、一気に消したいとき

“`
$ git branch | grep 【検索条件】 | xargs git branch -d
“`

一回`grep`までを実行して確認したほうが良いです!
`xargs(エックスアーグズ)`で`grep`結果を引数にして削除!

元記事を表示

リモートのブランチをローカルから削除する

– リモートブランチ削除コマンド
“`
git push –delete

// 例
git push origin –delete exampleBranch
“`

– 下記エラーが発生した場合は、既にそのブランチが削除されている可能性があります。
“`
error: unable to push to unqualified destination: remoteBranchName The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to ‘git@repository_name’
“`

元記事を表示

ローカルのブランチを削除する

# ローカルブランチ削除コマンド
【注意】
削除対象のブランチにいると、ブランチ削除コマンドを実行できないので、一旦他のブランチへ移動してから実行して下さい。
– 削除対象のブランチがリモートにプッシュ及び、マージ済みである場合
“`
git branch -d localBranchName
“`

– 削除対象のブランチがリモートにプッシュ及び、マージ済みでは無く、強制的に削除したい場合
“`
git branch -D localBranchName
“`

元記事を表示

git logでコミット履歴を活用しながら、gitの枝分かれミスを解決する方法

# 前提

* 以下の三つのブランチがある
* main
* develop
* feature

* 本来、developからfeatureを分岐させて作業しなければならなかったが、Aさん(自分)が誤ってmainから分岐させた状態で作業をしてpushしてしまった。その上、featureブランチでBさんがコードを追記した。

* 本来のあるべき姿
“`
————- main
\_________ develop
\____ feature
“`

* 現状
“`
————- main
\_________ develop
\__________ feature
“`

* どのように本来のdevelopブランチから派生させた状態、且つ、AさんとBさんがfeatureで作業した分も反映したブランチにするか、その手順を記す。
* `git log`のコミット履歴を見ながら作業することで、現在どのような状態なのかを把握しながら行う、という点を主軸に記していく。

# 手順
* `git

元記事を表示

GitHubというのが重要らしいと知ったばかりの人のための必要最小限のGitの知識

GitHubでは世界中の人や企業がソースコードを公開していて他の人がそれに修正を加えたりバグ報告などができるようになっていて、そこで使われてるツールがGitです。が、Git自体は直接GitHubと関係あるわけではなく単体で使えます。しかしGitHubと結び付けられて説明される事が多く(私も最初GitはGitHubのために作られたものだと思ってました)初心者にはわかりづらくなってると思うので、この記事では必要最小限だけの説明のみ行います。

# Gitとは
バージョン管理システムです。

# バージョン管理システムとは
バージョン管理システムとはプログラムなどの変更履歴を記録しておくものです。バグ修正、機能追加、あるいは単なるスペルミスの修正を行ったときなどに変更内容を記録( **コミット** )して、どのようにコードが変更されていったかを見ることができます。これによりバグが発生したとき変更履歴を見てどの変更が原因か考える、あるいはもっと直接的に以前の版に戻していってどの時点でバグが発生したか調べるといったことができます。

## ブランチ
Gitでは **ブランチ** (枝という意味)

元記事を表示

GitのエディタにVSCodeを設定する方法

# はじめに
私は普段、Visual Studio Code(以下VSCode)エディタを用いて開発を行っていますが、
ターミナルで`git commit`実行時にエラーが発生しVSCodeエディタが立ち上がらず困りました。
そこでVSCodeを用いてコミットメッセージが入力出来るように設定手順を解説します。
前提として、Gitはローカル環境にインストールした状態で読み進めてください。

# 環境
– MacBookPro
– VSCodeバージョン:1.74.0

# 解決方法
## GitのエディタにVSCodeを設定する
まず、VSCodeをGitのエディタとして設定します。
以下のコマンドをターミナルで実行します。
“`
$ git config –global core.editor “code –wait”
“`
では、GitのエディタとしてVSCodeが設定されたか確認してみましょう。
以下のコマンドをターミナルで実行します。
“`
$ git config core.editor
“`
以下のように表示されていればOKです。
“`
code –wait

元記事を表示

VSCode 1.74のリリースノートでこれいいなと思った機能

VSCode 1.74がリリースされました。
今回も自分が使いそうな機能でいいなと思った機能を紹介します。

1.73の記事はこちら
https://qiita.com/ckbys/items/b56186f2d6f9b490ed6c

# 設定画面がキーボード操作しやすくなった

https://code.visualstudio.com/updates/v1_74#_keyboardnavigable-settings-editor-indicators-hovers-and-links

TABキーとか方向キーで設定項目を移動できるようになったので設定しやすくなりました。
方向キーで項目を選択、Enterキーで入力フォームに移動、値を入力してTABキーで確定?→最初に戻る、みたいな感じです。

# サイドバーのバッジアイコンの表示・非表示が切り替えられるようになった

https://code.visualstudio.com/updates/v1_74#_hide-badges-per-view-container

サイドバーにファイルとかGitとか拡張機能とかのアイコンが並

元記事を表示

gitコマンドで xcrun: error: invalid active developer path path のエラー

ソフトウェアアップデートでかいけつ
xcode-select –install でも解決するっぽい

ソフトウェアアップデートしてないときになりがちな気がする

元記事を表示

.gitignoreまとめ

# .gitignoreとは?

・gitignoreとはGitで管理したくないファイル、ディレクトリを指定するもの
・本番環境と開発環境で値が変わる環境変数を持ったファイル(.env)や、自動生成されるもの(scssからコンパイルされたcssファイル等)、ログファイル等が主な除外対象

# .gitignoreの書き方
“`
# #で始まる行はコメント

# 特定の拡張子ファイルを除外する
*.env
**/css/style.css
**/img/**/*.min.webp
**/img/**/*.min.svg
*.htaccess
*.htpasswd

# 特定のフォルダを全て除外する
node_modules/

# 特定のパターンを除外しない
!/.gitignore
“`

# .gitignoreが反映されない時の対処法
#### 既にコミットされたことがあるファイルが対象になっている場合が多い
キャッシュにインデックスが残っているので、キャッシュを削除して上げれば解決します。
“`
$ git rm -r –cached . //全体キャッシュ削除
$ g

元記事を表示

ワイのGitHubリポジトリおすすめ設定(2022年 決定版)

# はじめに
はじめまして、「拳で」 と申します。
[NRI OpenStandia Advent Calendar 2022](https://qiita.com/advent-calendar/2022/nri-openstandia)の13日目は **ワイのGitHubリポジトリおすすめ設定(2022年 決定版)** というタイトルでお送りいたします!

2022年も終わりが近づき、「年末年始に何か開発でもしてみようかな?」と思っている方も多いのではないでしょうか。
新しくGitHubリポジトリを作成する際に、 **「拳で」 がおすすめするぜひ入れてほしい設定** を色々と紹介させていただきました!

開発用途などでフィットする設定は変わってくるかと思いますが、参考までにご覧いただければ幸いです:dizzy:
また、皆様のおすすめの設定がございましたらぜひコメントで教えていただけると大変喜びます?‍♂️

:::note warn
補足
記事内で特に説明の無い設定項目はデフォルト設定のままとなります。
::

元記事を表示

WSL2でGitのGUIクライアントを使う

## モチベーション
– WindowsでWeb開発をしたい
– チームではMacで開発している人が大多数なのでWindows使いに人権などない(環境構築でcatとか普通に使う)
– 各種コマンドやgitの操作などはWSL2を使って開発することにした
– Gitクライアント(GitKraken)がWSL2内を参照/watchしてくれない! ← イマココ

日本語の記事があんまりない and 情報が古かったので、ここに残します。

## 以前のやり方
X Server (X410) とか VcXsrv を使ってLinux側に窓口用のサーバーを構築し、それと通信させる形でWindows上から使うのがスタンダードだったみたいですが、MicrosoftからWSLgが発表され、自分でそんなことしなくてもよくなりました。

公式ドキュメントを参考に進めていきます。
→ [Linux 用 Windows サブシステムで Linux GUI アプリを実行する](https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/gui-apps)

## 前

元記事を表示

初心者向けgit&githubの使い方(実用編)

# はじめに
こちらの記事は[前記事 初心者向けにgit & github](https://qiita.com/usamaro/items/dee2188ba6dd64860454)にて、初心者向けにgit & githubの続きになりますのでまだ見てない方はそちらを先に見て下さい。

## なぜブランチを切る必要があるのか?
たとえば、冒険ゲームのように**Aデータは右へ** **Bデータは左へ**みたいに別々展開のデータ持ちたい時なんかにそれぞれセーブできたら便利だと思いませんか?

こんな感じで普段からgitを使用していると「あ、まちがえた!」なんて経験あると思います。
今回の記事はそんな時などに便利な機能(保管機能)になります。

今回は実際に実用的にブランチを切ってpush,mergeなどをやって行きたいと思いますのでお願いします。
やることは、
1.親ブランチを切って子ブランチを作成
**↓**
2.ファイルの編集
**↓**
3.保存
**↓**
4.編集内容がOKであればmerge(親ブランチに反映させる)

になります。
## 親ブランチからブランチを切ってからの作

元記事を表示

VSCodeでgit pushができないとき

## 問題
VSCodeでgitを使っているときに`non-fast-forward`時の対処法を試してもエラーが消えない

## エラー

“`:error
$git push origin main
>>>
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to ‘github.com:**/**.git’
“`
`non-fast-forward`はリモートとローカルの最新情報が異なっているときに生じるエラー

“`
リモートの情報をローカルに持ってくる(自動的にマージも行われる)ので
状態が一致してpushできるようになる(はず…!)
$ git pull origin master
>>>
fatal: Need to specify how to reconcile divergent branches.
“`
## 解決策
エラー文にある通り **`pull`によってとってきた情報とローカルとの差分がある時にその差分をどう扱えばいいのかを指

元記事を表示

GitHubの使い方 基本編

# 目標:GitHubで新しくリモートレポジトリを作成し、ローカルからpushするまで

## 目次
0. GitHubの登録
1. リモートレポジトリを作る
2. ローカルでgitの環境を構築
3. ローカルからリモートにpushする一連の流れ

githubはソースコードをGUIで管理できる。
ハッカソンやインターンでも使う時が訪れるはずなので、勉強しておく必要がある

### 出てくる専門用語
![本ページに出てくる専門用語.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2298339/4b21c7cb-4251-df32-325f-f8e4905cd631.png)

## 0.GitHubの登録
[公式サイト](https://github.co.jp/)から、サインアップ。

:::note info
[ホワイトハウスのレポジトリ](https://github.com/WhiteHouse)もあるくらい使われている。
:::

:::note warn
**GitHubのパスワードはサ

元記事を表示

huskyのpre-commitがSourceTreeからだと失敗する問題の解決方法

この記事は、[and factory.inc Advent Calendar 2022](https://qiita.com/advent-calendar/2022/andfactory)の **12日目** の記事です。
昨日は、@y-okuderaさんの「[スクロールで伸縮するヘッダをSwiftUIで実装する](https://qiita.com/y-okudera/items/b0edf79b17047e5ae51d)」でした。

# はじめに

コミット時にLintを走らせるなど便利なhuskyですが、弊社でも一部のプロダクトで使用することにしました。
私は普段SourceTreeを使っていますが、コミット時にhuskyのpre-commitが失敗するので解決方法を調べてみました。
ちなみに、ターミナルからコミットをする分には問題ありませんでした。

huskyのバージョンは、Ver.8.0.1です。

# エラー内容

SourceTreeからコミットしようとすると、以下のようなエラーが発生してコミットすることができません。

“`
git -c color.branch

元記事を表示

DockerコンテナをVSCodeで開発 gitでバージョン管理する(忘備録)

# はじめに ?
Docker初学者です。Dockerをどのように開発の現場に取り入れられるかを考えました。
不備や誤りなどお気づきのことがあれば、ご指摘いただけると幸いです。

## 概要
コンテナ内部にgitをインストールしVSCodeでリモート接続します。開発、バージョン管理を容易に行えるため実際の開発にDockerコンテナを取り入れやすくなったと思います。

## この記事の読者
プログラミングの基礎的な知識があることが前提です。
Dockerに興味がある方、Dockerは触ったけれど使いどころがピンとこない方などを対象に書いています。
※この記事ではDockerの概要やインストールの方法については詳しく説明しません。

# デモ

## コードテンプレート
[こちら](https://github.com/workshop-msano/sampleTodo)にテンプレートを用意していますので自由にお使いください。本記事の説明はこのテンプレートをもとに行います。

## 使用するツール
私の環境ではUbuntuにDockerをインストールしています。
VSCodeでGithub

元記事を表示

OTHERカテゴリの最新記事