今さら聞けないGit 2022年09月28日

今さら聞けないGit 2022年09月28日
目次

【Git】GitHub CLIの導入方法

## インストール
Macの場合
“`zsh
brew install gh
“`
または
“`zsh
sudo port install gh
“`

Windowsの場合
“`zsh
winget install gh
“`

インストールされたか確認する

“`zsh
$ gh version
gh version 2.16.0 (2022-09-21)
https://github.com/cli/cli/releases/tag/v2.16.0
“`

## ログイン
インストールができたらログインをする

“`
gh auth login
“`

元記事を表示

【Git】複数プロジェクトのコードを一つのリポジトリで管理することになった話

# はじめに
現在開発しているプロダクトでは、プロジェクト毎にスクラッチでプロダクトを開発しています。
作り始めは数が少なかったので**リポジトリの1ブランチ**ですべてのプロジェクトのコードを管理していました。
しかし、プロジェクトの数が増えるごとに煩雑化してきたためうまく分割できないか?と考え始めたのが始まりです。

## 前提
今回決定した構成はおそらく100点の回答じゃないだろうなと自分でも感じています。
ただ、ほかの会社でも似たような現象があるんじゃないか?と思って記事にしてみました。
いろいろ意見をもらえると嬉しいです。

## 私について
Gitにちょっとだけ詳しいPythonエンジニアです。
SIerで言ってた派遣先でリリース担当になった際にGitを猛勉強して以来、転職先では自分が一番Gitに詳しいという理由でリポジトリの管理者をよくやっています。
よりよいリポジトリの構成については勉強中なので、この記事で行った施策に疑問を抱いている節があります。

# 困っていたこと
大きく以下の3つの点で困っていました。
– プロジェクトごとに異なるバージョンの自社ライブラリを使い

元記事を表示

SourcetreeでGithubのリポジトリをクローンする際にエラーが出た

macでは遭遇しなかったのでWindows特有の問題かも

# エラー文
“`
The server’s host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server’s rsa2 key fingerprint is:
ssh-rsa 2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
If you trust this host, enter “y” to add the key to
PuTTY’s cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter “n”.
If you do not trust this host, press Return to aban

元記事を表示

git commit時に”*** Please tell me who you are.”と言われた時の対処法

docker/laravelを学習中に一瞬詰まったので備忘録として残します。

## エラー内容
“`terminal
〇〇@〇〇MacBook-Pro docker-laravel-handson % git commit -m “feat create docker app container”

#ここからエラーメッセージ↓
Author identity unknown

*** Please tell me who you are.

Run

git config –global user.email “you@example.com”
git config –global user.name “Your Name”

to set your account’s default identity.
Omit –global to set the identity only in this repository.

fatal: unable to auto-detect email address (got ‘○○@○○noMBP.(none)’)
“`

元記事を表示

【Git】リモートブランチが削除されているのにローカルで見ると残っている時の削除方法【GitHub】

はじめに

エラーを解消するためにリベースやら色々やった際に「revert-1-{ローカルブランチ名}」というブランチが生成されていて、
もう必要ないので削除しようとした所、削除されているのに表示されているというよくわからない状態になってしまったので、しっかり抹消できる方法を残しておきます。

とりあえず

「revert-1-{ローカルブランチ名}」このブランチを削除するために、 

“git branch -d origin {ブランチ名}“というコマンドを実行。(自分の環境では{ブランチ名}はrevert-1-feature/TopPage_Responsiveです)
“`
$ git branch -d origin/revert-1-feature/TopPage_Responsive
error: branch ‘origin/revert-1-feature/TopPage_Responsive’ not found.
“`
お??どうやらローカルブランチを削除する場合このコマンドでいけるが、リモートブランチを削除するコマンドはまた

元記事を表示

GitLabで意図せずブランチを削除してしまった時の対処法

# TL;DR
先日、GitLabでマージする際に削除したくない共有ブランチを削除してしまった時に、GitHubやローカルでブランチを削除した際の対処法の記事は多く見受けられたのですが、GitLabに関する記事が少なかった(日本語はない?)ので備忘録として投稿します。
**急いでいる方は、解決策のところだけお読みください。**

# 背景
現在、長期インターンシップでエンジニアとしてシステム開発をしていますが、その開発形態として
1. タスクを振ってもらう。(この機能追加して〜。このバグ修正して〜。など)
1. 開発環境ブランチからそのタスク用のブランチを作成し、実装する。
1. 実装できたらマージリクエストをしてレビューしてもらう。

という流れを繰り返して進めています。
そこであるタスクについて実装中に、「開発環境ブランチにいくつかマージしました〜。」という連絡を受けたので、「マージリクエストの際にコンフリクト起きるの嫌だな〜」と思ったので、実装を一時退避して現在のタスク用のブランチにマージしようとお気持ちで、GitLabで開発環境ブランチからタスク用ブランチのマージリクエストを作

元記事を表示

Stoplight StudioでGitとの連携 〜 初Pushまで

# はじめに
業務でStoplight Studioを導入してOpen APIの管理をしているのですが、導入当初、Git連携時のエラーの解消で少々手間取ったので解決方法やGUI操作で吸収しきれない箇所について備忘録を残しておこうと思います。

# Stoplight Studioとは
OpenAPI 定義ファイルの作成と管理ができる GUI エディタです。つまり**画面の操作だけで簡単に API 定義が作れてしまうツール**です。

最終的には yaml 形式でファイルを管理することになるので、 yaml を直接編集することも可能です。従って、**大枠はポチポチと画面から定義していき、GUIで吸収できない所を直接 yaml をいじって実現する**といった編集方法になります。

# インストール
Web版、Macアプリ、Winアプリ、Linuxアプリがあります。
[公式サイト](https://stoplight.io/studio)より自身のOSに対応したインストーラーをダウンロードしてください。

基本的にソースコードをローカルに落としてAPI定義をするフローかと思うのでWeb版は使

元記事を表示

WindowsのGit bashでシェルスクリプトを実行するショートカットを作る

## TL;DR

シェルスクリプトのショートカットを作り、右クリックメニューからプロパティを開きます。
「リンク先」項目に以下の内容を記述します。

“`cmd:ショートカットのプロパティのリンク先
C:\WINDOWS\system32\cmd.exe /c “”C:\Program Files\Git\bin\bash.exe” -i script.sh option”
“`

## 解説

### `cmd /c`

実行完了するとウインドウを閉じます。実行完了後にウインドウを閉じたくない場合はオプション`/c`の代わりに`/k`を使います。

### `”C:\Program Files\Git\bin\bash.exe”`

gitのインストール児についてくる`bash.exe`のフルパスを指定します。
環境変数`PATH`に`bash.exe`までのパスが指定してあれば`bash.exe`でも問題ありません。
今回は`Program Files`フォルダ以下に入っているので、スペースでコマンドが分割されないように`bash.exe`までのパスをダブルクォーテーションで

元記事を表示

Git Flowで開発中のプロジェクトに途中から参加する場合の手順

きっかけ

GitFlowで開発中の既に動いているプロジェクトに途中から参加した場合に、

“git flow init“コマンドでエラーが出たので備忘録程度に残しておきます。

解決方法

既にdevelopブランチがある場合はこのコマンドでmasterブランチをリモートリポジトリから取り込んでおく。
恐らく逆もしかりでmasterブランチとdevelopブランチの二つが必要。

“`
git checkout -b master origin/master
“`

作成されたら“git flow init“で初期化。
開発を始めていきましょう!!

元記事を表示

【Mac】複数のGitアカウントを切り替える

## やりたいこと
– 複数のGitアカウントを切り替える
– 簡単に切り替えれるように自作関数を作成する

## 方法
ターミナルを開いて、以下のコマンドを実行する。
“`zsh:ターミナル
code ~/.zshrc #vscodeをインストールしている場合
vi ~/.zshrc #vscodeをインストールしていない場合
“`
それぞれエディタが立ち上がるので、以下のコードを任意の場所に追加する。

“`zsh:zsh
#職場で使う用のアカウント
function gitMain() { #関数名はカスタマイズできます。
git config –global user.name “[username]” #職場用のusername
git config –global user.email “[email]”  #職場用のemail
}

#個人で使う用のアカウント
function gitPri() {
git config –global user.name “[username]” #個人用のusername
git config –g

元記事を表示

Gitの基本の「キ」 part4 GitHubにSSHを登録する方法

# はじめに
エンジニアを志して皆さん勉強を始めていきますが、gitに関して知らない方、結構多い印象ですね。
わかってしまえば非常に便利なgitですが、概念が少し分かりづらいですよね。
いきなり触るとなった場合にも困る事がないよう、経験のない方向けにシリーズとしてまとめていこうと思います。

今回は[前回](https://qiita.com/YuukiYoshida/items/8c8e5717390814121480)に続き、part4、GitHubにsshを登録する手順を解説しようと思います。

前提として、GitHubアカウントの登録済みである前提でお話を進めていきます。
また、環境はMacをベースとした解説です。

# 手順その1:sshを発行する
まず、クローンするにあたり、sshを登録する必要があります。
※sshとは、セキュアシェルの略でネットワークを通じて別のコンピュータを安全に遠隔操作するための通信手段です。

:::note info
ちなみにGitHubでは基本的にsshを登録してリモートにアクセスするケースが多いですが、アクセストークンを作成してhttpsでや

元記事を表示

【GitHub】コードレビュー略語のバッチ集

# はじめに
配色は適当なのでなんかイメージと違うなどあればコメントください!!

# LGTM
![LGTM](https://img.shields.io/badge/review-LGTM-green)
“`
![LGTM](https://img.shields.io/badge/review-LGTM-green)
“`
「Looks Good To Me」 = 良いと思います

# WIP
![WIP](https://img.shields.io/badge/review-WIP-purple)
“`
![WIP](https://img.shields.io/badge/review-WIP-purple)
“`
「Work In Progress」 = 対応中

# FYI
![FYI](https://img.shields.io/badge/review-FYI-pink)
“`
![FYI](https://img.shields.io/badge/review-FYI-pink)
“`
「For Your Information」 = 参考までに

元記事を表示

GitFlow + GitLab(GitHub)を活用した開発運用メモ

# 概要

私が参画しているとあるプロジェクトでは元々SVNでのソース管理をしていましたが、Gitでのソース管理(単純なSVNからGitへの移管)→GitFlowでの開発を導入して開発が効率化できたのでその要点・工夫等を共有します。
正式な手順と違う部分もありますが、参考になれば幸いです。

# 参画プロジェクトについて

参画プロジェクトは主に既存の自社パッケージ製品を保守・追加改修を行うようなプロジェクトです。(たまに新規顧客に対して導入を行うこともあります。)

PCローカル内のVM(VirtualBox等)もしくはDocker環境上で開発を行い、ソースをGitHub上で管理、最終的にはEC2やAzure Virtual Machines等のVM環境(CentOSやRed Hat Enterprise Linux)にRPMパッケージを転送後、展開することでリリース作業を行っています。

メンバー的にはプロパー社員 + (人が足りていない場合)協力会社さんで開発を行っていますが基本的にパッケージ製品から大きな変更でない場合(少し機能を追加するだけ等)はプロパー社員だけの構成が多いで

元記事を表示

開発中にファイル名を変更した際にはgit mvコマンドを使う

はじめに

gitを使って開発している時にファイル名を変更する必要が出てきました。
そういえば、途中でファイル名を変更したらgitの履歴とかどうなっちゃうの?という疑問が生まれたので調べました。
備忘録として残そうと思います。

ローカルで名前を変えただけだとどうなるのか

現在開発中のUserDeleteのファイルを試しにUserDeletに変更し、git statusで確認したところ、
UserDelete.tsxは削除され、UserDelet.tsxがgitで追跡できていません、という扱いになっていました。

~~~
~ % git status
On branch <ブランチ名>
Changes not staged for commit:
(use “git add/rm …” to update what will be committed)
deleted: frontend/app/src/components/pages/UserDelete.t

元記事を表示

[Git] いいかげん理解したいgit reset ~ addの取り消し、commitの取り消し

人間はaddやcommitした直後に間違い発見能力が爆上がりするため、しばしばそれを取り消したくなります。いつもコマンドを打つたびにググっている気がするので、いいかげん覚えるためによく使うコマンドをきちんと調べ、理解し、まとめようと思います。
間違いがあったら教えていただけると嬉しいです。

## 前提知識
– ワークツリー … git管理下で実際に作業しているディレクトリのこと。`git add`する前はここにあるイメージ。
– インデックス … リポジトリにコミットする準備をするための場所のこと。`git add`したらここに移るイメージ。
– リポジトリ  … ファイルやディレクトリの状態を記録する場所。`git commit`したらここに移るイメージ。

最低限これらをざっくり理解しておいた方が良いです。qiitaにもまとめている記事がたくさんあると思うので詳しくはググってください。

## addを取り消す
“`
$ git reset HEAD
“`
> git-reset – Reset current HEAD to the specified s

元記事を表示

ターミナルでGitが快適になるツール「tig」

現場で便利なツールを教えていただいたので記事にしてみました。

## 導入
※ 私の作業環境がmacしかないのでWindowsは割愛します

以下のコマンドをターミナルで叩くだけ。
“`$ brew install tig“`

Homebrew入れてない人は入れておきましょう
[Homebrewインストール](https://brew.sh/index_ja)

## 使い方

ターミナルで指定ファイルの編集ログを表示 
“`
 tig WeatherApp/TopView.swift
“`
すると以下のように表示されるので

![部分的.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566823/a204c848-b6c1-02fd-c73c-96cb84d49b89.png)

この中のどれかを選んでEnterを押すと
![全体.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566823/1b

元記事を表示

【Git】UTF-8以外の文字コードのファイルを扱う(文字化けを直す)

## 問題
文字コードがUTF-8以外のファイルをGitリポジトリにコミットすると、そのファイルが文字化けしてしまう。

## 解決策
リポジトリ直下に `.gitattributes` ファイルを作成し、対象のファイルに `working-tree-encoding` 属性で正しいエンコーディングを設定する。

例えば、Shift-JISの.txtファイルを扱いたい場合は以下のようにする。
“`.gitattributes
*.txt working-tree-encoding=sjis
“`

なお、内部的には設定されたエンコーディングとUTF-8とを相互変換してるだけで、実際のGitリポジトリにはUTF-8で上がるので注意。

## 参照
– [Git – gitattributes Documentation](https://git-scm.com/docs/gitattributes#_working_tree_encoding)

元記事を表示

Unityプロジェクトをgitでpushする際の注意事項

# はじめに
1年ほどUnityを触っていなかったのだが、新しくUnity(2021.3.10f1)でProjectを作ってgitHubにpushしようとするとLibrary以下のファイルが100MBを超えているのでpushできなかった。
**「え??最近のUnityはまっさらなProjectでもgit lfsを使わないとpushできないの??」** ってなりました。
***** [git lfs](https://git-lfs.github.com/) : gitは100MB以上のファイルをpushする際にブロックするため、そういった大きなファイルを指定して特別にpushするツール。大きなモデルデータとかpushするときにお世話になった。

ここまで読んでわかっている人は「こいつ何してんだ?」と思うだろうが、自分と同じような初学者()は一緒の戸惑いを持つかもしれない。

そのため、今回は
– Unity Projectをpushする際の注意事項(自分が把握している情報)
– コマンドラインでUnityProjectをgitHubにpushする手順
– 余談()

についてまとめよう

元記事を表示

【Git・GitHub】GitHub Flowをやってみよう!(初心者向け)

## はじめに
前回の記事から引き続き、用語の詳しい解説は省いて 「実際に使う」 ことにフォーカスを当てています。
個人で試せるようにしていますので、お気軽にお試しください。

前回の記事はこちら↓

https://qiita.com/rnk0085/items/70941059f87aecca0abb

### この記事で分かること

– GitHub から情報を取得する方法
– `git pull origin main`
– GitHub を活用した開発の流れ&お試し
– GitHub Flow
– `git branch`
– `git checkout`
– プルリクエスト

## GitHub から情報を取得しよう!

チーム開発をしていくと、他の方もセーブデータを GitHub に送るため、自分のPC上にあるセーブデータと、GitHub 上にあるセーブデータが必ずしも一緒であるとは限りません。このようなとき、自分のPC上に GitHub にあるセーブデータを取り込む必要があります。

まずは実際に、GitHub 上にセーブデータを

元記事を表示

【Git・GitHub】はじめの一歩(初心者向け)

## はじめに

今回は
– 「Git も GitHub も大事って聞いたし、入れてみたんだけど使い方がよく分からない…。」
– 「どう使えば良いのか全然分からなくて挫折した…。」

という人向けで、用語の詳しい解説は一切省いて ***「実際に使う」*** ことにフォーカスを当てています。

そのため、事前に Git や GitHub は用意されているものとします。
まだ準備してないよーって方は「Git インストール」などで調べると詳しい記事が出てくるので、そちらを参考にお願いします。GitHub はアカウント作成をしておいてください。(SSHは出来ていなくても大丈夫です)

※注意
本記事での表現はあくまで個人的なものですので、ご了承ください。

### この記事で分かること

– Git の超基本的な使い方
– `git init`
– `git add`
– `git commit`
– GitHub の超基本的な使い方
– Repository を作成・追加
– `git push origin main`

※VSCodeを

元記事を表示

OTHERカテゴリの最新記事