今さら聞けないGit 

今さら聞けないGit 

PRで余計な差分を大量に指摘された場合に一気に修正する方法

# はじめに
最近、インターン(といっても大学の先輩のお手伝いですが)でwebアプリケーション開発に携わる機会をいただいたのですが、私はPRでコードレビューやってもらったことがありませんでした。
最初のインターンでUnityを使った共同開発を行ってはいましたが、コードレビューをしていただく機会がなかったので、今回のインターンでコードレビューで指摘をいただいた時とても困りました。
なのでこれからインターンに参加する方が困らないように、記事で残しておこうと思います。

# どんな感じに指摘されたか

実際に指摘されたのは、要らない差分があるという指摘でした。
![スクリーンショット 2024-07-08 14.29.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766230/c545c565-088b-1281-b19b-08fcf0f24abc.png)

>これが大量にありました。アホです。

この場合解決方法として

– 改行(差分)を消す
– gitのresetコマンドを使う
があります。

元記事を表示

Gitをhttpsからsshに接続変更する

# 概要
Gitを最初はhttpsでcloneした人向け。sshに接続変更する。

## 状態の確認
ターミナルからGitリポジトリをcloneしたところで以下を入力

“`:コマンド
git remote -v
“`

多分httpsでやってるとこうなる。

“`:実行結果例
origin https://github.com/example/hogehoge.git (fetch)
origin https://github.com/example/hogehoge.git (push)
“`

## sshの鍵作成

“`:コマンド
ssh-keygen -t rsa -b 4096 -C “自身のメールアドレス”
“`

上記入力後、鍵の名前、パスワード、パスワード(確認)を入力する。
(ここでは
鍵の名前: git_rsa
パスワード: 自分自身のPCパスワードにする)

“`:例
% ssh-keygen -t rsa -b 4096 -C “test@example.com”
Generating public/private rsa key pair.

元記事を表示

はじめてでもできる GitとGitHubの教科書

# Git 書籍 おすすめ
# はじめてでもできる GitとGitHubの教科書
[はじめてでもできる GitとGitHubの教科書](https://www.sbcr.jp/product/4815615390/)

元記事を表示

PowerShell で日本語が文字化けする

# 概要

Windows11でPowershellを使用している際、Gitのコミットメッセージを日本語で書くと、コミット後にコミットメッセージが文字化けする現象に遭遇しました。

“`shell:PowerShell
[main d2fb586] [update] 遨コ縺ョindex.js繧剃ス懈・
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 index.js
“`

解決方法を探してみたところ、PowerShellの設定の問題だということがわかりました。

本稿では、PowerShell で日本語が文字化けする問題に対する解決方法の一つを紹介します。

# 著者の環境紹介(簡易)

– WindowsOS: Windows 11
– PowerShell: PowerShell 7.4.3
– git version 2.45.1.windows.1

:::note
PowerShellでのバージョンの確認方法
– OS のバージョンとビルド番号:`winver `
– PowerS

元記事を表示

Gitで大文字・小文字の識別をするには

## はじめに

ローカルで pagesフォルダの名前を Pagesに変更し、Azure Reposにプッシュしたところフォルダ名が pagesのままで、大文字に変換されない問題が発生しました。この原因と解決策についてまとめます。

## 原因

Gitはデフォルトでファイル名の大文字・小文字の変更を検知しない設定になっています。このため、ローカルでフォルダ名を変更しても、リモートリポジトリ(Azure Reposなど)にプッシュすると変更が反映されないことがあります。

## 解決策

以下のコマンドを使用して、Gitの設定を変更します。

“`sh
git config core.ignorecase true # 大文字小文字を区別しない
git config core.ignorecase false # 大文字小文字を区別する
“`

設定が反映されているか確認するには、以下のコマンドを実行します。

“`sh
git config core.ignorecase

# false が表示されれば、大文字小文字を区別できる設定になっています。
“`

元記事を表示

icdiffでutf-8とshift-jisの両方を一度に比較する方法(おそらく非推奨)

## icdiffとは
ターミナル上で横並びにファイル比較ができるツール。

https://github.com/jeffkaufman/icdiff

公式でも紹介されているように、gitに組み込むこともできる。

## icdiffのデフォルトエンコーディングはutf-8

以下のようにデフォルトでutf-8で読み込むようになっている。

“`python
parser.add_option(
“–encoding”,
default=”utf-8″,
help=”specify the file encoding; defaults to utf8″,
)
“`

ところが、業務で`utf-8`と`shift-jis`の両方を同時に扱うことがある。
そのため差分ファイルに`utf-8`と`shift-jis`が混ざった状態で`git icdiff`を叩くと、`shift-jis`側のファイルはエンコードエラーとなる。

“`
error: file ‘filename.jsp’ not valid with

元記事を表示

git checkout どこから — どのファイルを

いつもわすれるので 「特定ブランチの特定ファイルをもってくる」 やりかた

“`bash
$ git checkout どこから — どのファイルを
“`

特定ブランチの特定ファイルをもってくる、他にも他人が開発している別ブランチで必要なファイルをもってくるなど。

例: 開発中に間違ってコミットしてしまった、変更してはいけないファイル README.md をdevelopの内容に戻す

“`bash
$ git checkout develop — README.md
“`

## 参考
いつもWebで rebase onto毎回検索してますが、その次にこの操作をやってます。覚えられない!

https://qiita.com/sotarok/items/07c6b2cca5ed2f9a53a6

元記事を表示

【超初心者向け】GitHubにコードを公開する

## はじめに
GitHubにコードをあげたことがない、久しぶりですっかり忘れてしまった、という方の参考になれば幸いです。first commitを例に手順を列挙していきます。
なおGitHubアカウントは作成済みとします。

## 1.Githubにリポジトリを作成
・GitHubのリポジトリ作成ページにアクセス (https://github.com/new)
・Repository nameを入力し、画面下部のCreate repositoryをクリック
・緑のボタン「<>Code>」をクリックし、表示されたHTTPS URLをコピーしておく

## 2.gitの初期化
・VSCodeでターミナルを開き、公開したいプロジェクトのルートフォルダへ移動
 例)cd C:\Users\User\Documents\bbs-with-nextjs

・`git init`を実行

## 3.リモートリポジトリの作成
・1でコピーしたURLを使い以下コマンドを実行
 `git remote add origin [1でコピーしたURL]`

:::note info
originはリモー

元記事を表示

GitにコードがPushされたら自動的にPullする

とあるゲームのサーバー開発に関わっているのですが、gitにコードがプッシュするたびにリモートデスクトップでわざわざプルするのがめんどくさすぎたので自動化したおはなし。

## 構成
Azure DevOps の Azure Repos にコードがプッシュされる

Azure Repos の機能で自動的にHTTPリクエストを送る

サーバーで動いているFlaskアプリケーションでリクエストをうけとる

`subprocess` で自動的に `git pull origin master` する

## コード

指定したポートを開けた状態で `python autogitpull.py` してください。
また、これはベースのコードで、まじでなんのセキュリティ対策もしていません。
`flask-httpauth` でユーザー名とパスワードを追加したり、Headerにパスワードを入れたりしたほうがいいかも。私の場合はテストサーバーなのでこれでテストしていきます。

https://gist.github.com/inoue-773/22c2ec765b6c29235ef7a82d7a0

元記事を表示

Dev Container起動中にGitが操作できない

# 概要
先日参加したハッカソンで初めてDev Containerを使用した際にGitの操作が上手くいかないことがあったので、行った対処法をここに残しておこうと思います!
※もしかしたら超初歩的なミスかもしれませんが、検索しても出てきませんでした汗

## 今回起こった問題
GitHubのリモートリポジトリからクローンしたローカルのリポジトリで、Dev Containerを立ち上げてVSCodeのターミナル上でGit操作をすると、Gitリポジトリがない(fatal: not a git repository)と言われてしまう
“`terminal
vscode ➜ /workspace $ git status
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
“`
## 解決方法
**Dev Containerを開いている間はgitの操作をしない。閉じ

元記事を表示

Eclipseのチーム機能とGit

こんにちは。東と申します。
Javaとノーコードツールを使っています2年目のエンジニアです。

とある案件でEclipseを使用し、複数人でWEBページを作成したのですが、
その時に使ったのが **チーム** という機能でした。

ただ、この機能はGitというバージョン管理プラットフォームを使用しているのですが
よくわからない状態でした…
特にどのメニュー項目が、どのGitの機能かパッと一致しないのが個人的にモヤモヤした部分でした。
(コマンド上だと英字だからかもしれません。)

ですのでこの記事では自分用の備忘録も兼ねて、チームの機能を
おおよそ該当するGitの機能としてまとめたいと思います。(Eclipseオリジナルの機能、個人的に使用したことがない機能はここではサラッと流させていただきます。)

# チーム機能一覧
プロジェクト上で右クリック→チームへ
![screenshot edited.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780649/66510384-1e31-323d-1

元記事を表示

ちょっとわかった!Git

# この記事の概要
Git に関してわかっているつもりで色々と抜けている部分があったので、あらためて学習してみた結果をまとめる。

# Git 初期設定

“`terminal
# git アップデート
git update-git-for-windows
git –version

# git の初期設定
git config –global core.editor “code –wait”
git config –global -e

# 自分の場合このようにしている
[user]
email = email@email.com
name = name
[init]
default = branch
defaultBranch = main
[diff]
tool = vscode
[difftool “vscode”]
cmd = “code –wait –diff $LOCAL $REMOTE”
[core]
autocrlf = input
editor = code –wait
[grep]
lineNumber = true
“`

元記事を表示

Gitエラー(organization has enabled or enforced SAML SSO)の対処法

# エラー内容
ある日突然リモートリポジトリへの操作(プッシュやプル、クローン)をすると以下のエラーが発生するようになった。

## エラー
> Git: remote: The ‘・・・’ organization has enabled or enforced SAML SSO.

# 対処法
ネットで調べただけだから原因まではわからないが、以下を実施すればひとまずエラーは発生しなくなった。

1. ネットワーク接続の表示を起動させる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1612369/08747395-0885-e575-8999-d2aa63a57afd.png)
2. Wi-Fiを右クリックしプロパティを開く
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1612369/33293c58-453d-eb65-c9e5-77131233113b.png)
3. インターネットプ

元記事を表示

Gitのエラー(Recv failure:Connection was reset)の対処法

# エラー内容
ある日突然リモートリポジトリへの操作(プッシュやプル、クローン)をすると以下のエラーが発生するようになった。

## エラー
> リモート リポジトリへのプッシュ中にエラーが発生しました: Git failed with a fatal error.
> Git failed with a fatal error.
> unable to access ‘https://dev.azure.com/・・・/’: Recv failure: Connection was reset

# 対処法
ネットで調べただけだから原因まではわからないが、以下を実施すればひとまずエラーは発生しなくなった。

1. ネットワーク接続の表示を起動させる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1612369/08747395-0885-e575-8999-d2aa63a57afd.png)
2. Wi-Fiを右クリックしプロパティを開く
![13.png](https://qiita

元記事を表示

Git入門:高度なテクニックと特定のユースケース

Gitは、基本的なバージョン管理機能だけでなく、開発プロジェクトを効率的に進めるための高度なテクニックも提供しています。この記事では、さらに高度なGitのテクニックと特定のユースケースについて記述します。

### 目次

1. Gitのリバートとリセット
2. Gitのサブツリー
3. Gitのシリアルワークフロー

### 1. Gitのリバートとリセット

Gitのリバートとリセットは、コミット履歴を管理するための強力なツールです。

### リバート

リバートは、指定したコミットを打ち消す新しいコミットを作成します。これにより、履歴を保持しながら変更を元に戻すことができます。

“`bash
git revert <コミットID>
“`

### リセット

リセットは、指定したコミットまで履歴を戻し、その後のコミットを削除します。慎重に使用する必要があります。

“`bash
git reset –hard <コミットID>
“`

ソフトリセットを行うと、履歴を戻しつつ変更はステージングされます。

“`bash
git reset –soft <コミットI

元記事を表示

gitコマンドチートシート

# gitコマンドチートシート

元記事を表示

Gitについて

## Gitの仕組みと現場でよく使用するコマンド
職場の勉強会で発表することになり、お題をGitとコマンドに決めたため
調べたものをまとめる場としてこの記事を書くことにしました。

#### 見出し
+ Gitとは
+ Gitを使うと嬉しいこと
+ 集中型バージョン管理システムとの違い
+ Gitの構造
+ 上記以外で使用する事が多いコマンド

### Gitとは
まず、Gitとはプログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムのことであり、かのLunuxを開発したリーナス・トーバルズ氏によって開発されたシステムです。

Gitが生まれた経緯としてざっくり言うと、もともとLinuxカーネル開発[^1]でBitKeeperというバージョン管理システムを使用していたが、社員の一人がやらかしてしまいBitKeeperの無料提供の停止が通告され、交渉も決裂してしまい利用できなくなってしまいました。
BitKeeper利用前の状態に戻るのは耐えられないが、他社のシステムの中でBitKeeperの代用品になるシステムが見つからず、最終的には自前でSCMを開発

元記事を表示

git stashでコミットせずに変更を一時保存しよう

git stashは、作業中の変更を一時的に保存し、後で再適用するためのGitコマンドである。以下に主な使用方法と機能を示す。

# 変更を一時保存(stash)する:
“`bash
git stash
“`
または、メッセージを付けて保存:
“`bash
git stash save “作業中の変更”
“`

# 保存した変更(stash)の一覧を表示:
“`bash
git stash list
“`

# 最新のstashを適用する:
stashを適用とは作業ディレクトリにstash listに一時保存した状態を適用するということ.これをすると,最新のstashはstashリストから削除される
“`bash
git stash pop
“`

適用した後にコミットすれば作業ツリーに履歴が残る
“`bash
git commit -m “コミットメッセージ”
“`
:::note info
最新のstashを適用するが、stashリストからは削除しない
“`bash
git stash apply
“`
特定のstashを適用
“`bash
git sta

元記事を表示

これ知らないとガチでやばい‼︎GitHubで機密情報を上げた時に、警告がくる‼︎(GitHubでpublicからprivateに変更する方法を解説)

# GitHubはセキュリティ面で優秀
GitHubでは、***credentikalや秘密鍵など上げたらやばいデータをpushしたりすると警告、アラートメール***がきます。それくらいGitHubは優秀です。セキュリティの対策も取られています。こんな感じのメールがきます。
“`
[アカウント名/リポジトリ名] Generic High Entropy Secret exposed on GitHub

GitGuardian has detected the following Generic High Entropy Secret exposed within your GitHub account.
Details
– Secret type: Generic High Entropy Secret
– Repository: アカウント名/リポジトリ名
– Pushed date: 日付
“`

# publicからprivateに変える方法
1.***GitHubのsettingをクリック***

2.***下にスクロールするとDanger Zone***

![スクリ

元記事を表示

git hub pages 使い方 URLを指定してhtmlを表示させよう

git hub pagesの使い方を共有します。

# この記事で伝えたいこと

1.作成したファイルを公開する手順
2.どのファイルを表示させるのかはURLで指定するということ

# 準備
まず公開したいhtmlファイルをリモートリポジトリに置いてください
ブランチや、フォルダ構成はなんでも構いません

今回は 「git_test」リポジトリの中のmasterブランチに「gitPages」
![スクリーンショット 2024-07-21 16.48.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2958989/eb06dedb-060c-4029-59b1-0af128420e33.png)

というフォルダを置きました。
表示させたいのは このフォルダの中のindex.htmlです

それではgit hub のフォルダを配置したリモートリポジトリに行きます

# 使い方

 setting をクリック

![qiita_01.png](https://qiita-image-stor

元記事を表示

OTHERカテゴリの最新記事