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

今さら聞けないGit 2022年08月10日
目次

Git ブランチ指定なしでpushできるように設定する

# 概要

– ローカルリポジトリからpushする際にブランチの指定を行わずpushする方法をまとめる。

# 注意

– 本設定を行うと`$ git push`コマンドだけでpushができてしまいます。
– 意図しないPushにご注意ください。

# 方法

– ローカルリポジトリにて下記を実行する。

“`
git config –local push.default “current”
“`

– `$ git config -l`を実行して`push.default=current`と表示されていることを確認する。
– `$ git push`コマンドのみでpushする事ができる。

元記事を表示

【Windows】Gitでリモートにアクセスができない時の解決方法(Support for password authentication was removed on August 13, 2021.)

# 事象
SourcetreeなどでGitHubにpullやpushしようとすると、以下のエラーが表示されました。

“`
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for ‘https://github.com/jw-sd-dev/DocumentManagementSystem.git/’
“`

# 原因
2021年8月13日からGitにローカルからGitにアクセスするためには、これまでのパスワードではアクセスできなくな

元記事を表示

【ポートフォリオ作成2日目】githubのissue活用とrspecのセットアップ

# 概要
– githubのissue機能を使ってタスク管理をする。
– rspec(Ruby用のテストフレームワーク)を使ってTDD(テスト駆動開発)を行うための準備をする。
# githubでタスク管理
– [GitHubのissueを活用した個人アプリの開発手順を書いてみた](https://qiita.com/tkmd35/items/9612c03dc60b1c516969)
– [Githubにissueのテンプレートを作成する方法](https://note.com/koushikagawa/n/n0dcc592d3045)
# rspecのセットアップ
– [rspecをgemでインストール](https://zenn.dev/fu_ga/books/ff025eaf9eb387/viewer/f2c0c9)
# 参考
– [使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」](https://qiita.com/jnchito/items/42193d066bd61c740612)
– [Everyday Rails – RSpecによるR

元記事を表示

【ポートフォリオ作成1日目】開発環境とrailsアプリケーション作成

# 概要
Webエンジニア転職用のポートフォリオ作成の過程を記録する。
[Ruby on Rails チュートリアル](https://railstutorial.jp/)を1週した後のレベル感。
– PC:M1 MacBook Pro
– エディタ:Visual Studio Code
– ターミナル:iTerm
# rubyのインストール
– [homebrewでanyenvをインストール](https://brew.sh/index_ja)
– [anyenvでrbenvをインストール](https://github.com/anyenv/anyenv)
– [rbenvでrubyをインストール](https://github.com/rbenv/rbenv)
– [(参考)PATHを通すとは? (Mac OS X)](https://qiita.com/soarflat/items/09be6ab9cd91d366bf71)
# railsアプリケーションの作成
– [gemでrailsをインストール](https://guides.rubyonrails.org/gettin

元記事を表示

Githubトークン更新後の対応方法

対応方法をいつも忘れるのでメモ。

## 環境
macOS Monterey 12.3.1

## エラー内容
Githubトークンの期限が切れていたのでトークンを再生成した。
その後、`git push`すると認証エラーが出た。

“`zsh:ターミナル
$ git push origin HEAD
remote: Invalid username or password.
fatal: Authentication failed for ‘https://github.com/username/repository.git/’
“`
ここでパスワードを更新する方法を調べるが良い方法が出てこない。

## 対処方法
再度 `git push`する。
ユーザー名、パスワードを聞かれるので入力すれば更新できる。

“`zsh:ターミナル
$ git push origin HEAD
Username for ‘https://github.com’: username
Password for ‘https://username@github.com’:
“`

元記事を表示

【Git】pushもできない初心者が、エラー「fatal: refusing to merge unrelated histories」を乗り越えた話。

# 概要
・ 初心者がgitコマンドで遊んでいたら、いつの間にか`push`できなくなっていた。
・ `push`できない原因を`fatal: refusing to merge unrelated histories`に特定。
・ 最終的に自分が何をやらかしたのか推測(なんのコマンドを実行したか覚えていないため)。

※`fatal: refusing to merge unrelated histories`に対する**結論**は、「**解決法**」に記載がございます。

# 環境
“`terminal:terminal
% git –version
git version 2.36.1
“`
※リモート名「origin」、ブランチ名「main」で作業しています。

# エラー状況
①. 「main」ブランチを`push`しようとしたところ、エラーが発生
②.  エラー文に基づいて、「main」ブランチを`pull`を実行するも再度エラーが発生
③.  再度出たエラー文に基づいて、`config pull.rebase false`を実行し、再度`pul

元記事を表示

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

前の記事
https://qiita.com/Unirenkon/items/68b48f1eb431c254e3d9

# 今回の作業

フロントを簡単にいじれるように環境を整える
– 具体的には下記を実現することを目標とします
– gitを導入して、diff(変更箇所)を保存できるようにしたい
– ローカル環境でCSSなどをいじってそれを簡単に本番環境に適用させたい

手順として下記がありますが、今回は**xserverにSSH接続**の部分のみ記載します
(まとめたいですが長くなりそうなので;-;)

– serverにSSH接続
– xserver上にGitの共有レポジトリを作成する
– ローカルに共有レポジトリを取得する
– ローカルの好きなエディタでCSSとかをいじったりして、git pushで本番環境に適用する

# xserverにSSH接続

### SSH接続とは
SSHとは「Secure Shell」の略で、ネットワークに接続された機器を遠隔操作し、管理するための手段。
安全にxserverとローカルを接続するために必要

元記事を表示

複数AWSアカウントでCodeCommitにアクセスする認証情報を切り替える方法(Windows環境)

# 目的
備忘録。

複数のAWSアカウントでCodeCommitを利用する際に資格情報を切り替えるのが面倒に感じたため、その手順を残します。
ちなみに同一AWSアカウントでの複数IAMユーザ切替えでも同様です。

# 環境
– Windows 10
– git version 2.31.1.windows.1

# やり方
Gitでcloneする際にnamespaceを指定することで、Windowsの資格情報マネージャで個別に資格情報を管理することができます。
ただしそのままだと`.git/config`に反映されないので手動で反映する必要があります。
“`
【Git clone】
git -c credential.namespace=${NAMESPACE} clone ${REPOSITORY_URL} ${DEST}

【設定を追加】
cd ${DEST}
git config credential.namespace ${NAMESPACE}
“`

## スクリプト
定型処理なのでスクリプトファイルにしてパスを通したフォルダに置いて使います。※PowerShellはB

元記事を表示

Docker ComposeとGitHubを使用して、Node.js + Express + MySQLの環境構築を行う

# 初めに
Docker Composeを使用して、Node.jsとMySQLのコンテナを作成し、Sequelzieを使用してDBにアクセスするところまでを記載する。
また、Node.jsのコンテナ上でExpressのプロジェクトを1から作成する記事は多く見かけたが、既にあるGitHubのリポジトリ(ExpressとSequelizeを含む)をcloneしてそこから環境を構築していく記事はあまり見受けられなかったので、今回はそちらの手順で行う。(実際に現場で開発する際は、既にGitHubが作成されている場合もあると思われるため)

#### 今回やりたいことの図
![SnapCrab_NoName_2022-4-1_10-29-57_No-00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1229062/bb0c1684-1998-7692-c970-899ba13c904c.png)

# 環境
■ 使用PC
MacOS Big Sur:バージョン11.6

※既に使用PCにはgitを導入状態

元記事を表示

GitHubのコンフリクトをブラウザ上で解消する方法(初心者向け)

今回は、GitHubのブラウザを使用してコンフリクトを解消する方法を記述します。
今までは、基本的にコンフリクトを起こさないように開発をしていました。
しかし、その方法だと開発効率が落ちてしまうため本記事を投稿するに至りました。

それでは始めます。

### 環境
■ 使用OS
MacOS Big Sur:バージョン11.6
■ 総合開発環境
Visual Studio Code

### 初めに
今回は、「master」「test1」「test2」というブランチを用います。
具体的な使用用途は、「test1」のプルリクエストで、「master」ブランチの内容を変更し、「test2」のプルリクエスト時にコンフリクトを発生させます。
また、masterブランチには、ローカル、リモートリポジトリの両方で、下記のファイルを作成しています。
※ファイル名や内容は任意です。

“`conflict.txt
masterブランチの記述です。
“`

### コンフリクトのためのファイルを作成して、コミット・プッシュを行う
では、早速コンフリクトを発生させるためのプルリクエストを作成します。

元記事を表示

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

前の記事
https://qiita.com/Unirenkon/items/7ed5bcc724205906083c

# 今回の作業

* レンタルサーバーを借りる
* 独自ドメインを取得する
* Pukiwikiをサーバーにインストール

今回は本記事(シリーズ)を書こうと思った前日にやった作業なので、SSなどを用意できなかった部分があります。

## レンタルサーバーを借りる
自前でサーバーを借りてWikiを作る場合、**Xserver**というサーバーを利用すると、**Pukiwiki**というOSSが簡単にインストールできることがわかったので、まずはXserverと契約しました。

キャンペーンをやっていて、ちょうど10日間無料をやっていたのもやるか〜と思ったきっかけです。
今のキャンペーンは2022年8月25日(木)18:00までで、さらに独自ドメイン無料、利用料金キャッシュバックもやっているとのこと※条件あり
(ただキャンペーン自体は形を変え割といつでもやっているものだろうなとも思いますw)

10日間無料の体験はクレジットカードを登録しなくてよかったので気楽に試せる

元記事を表示

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

# 経緯
海外でリリースされる予定のオンラインゲームの日本語Wikiがなかったので作ろうかなと思って調べてみたら、@WikiみたいなレンタルWikiを使って作る以外にも自前でサーバーをレンタルして作ることができるそう
昔からプライベートでなんかレンタルサーバー借りて独自ドメインでサイト作ってみたい〜みたいな気持ちがあったけど、ネタもやる気もなかったところでいい機会かなと思ってやってみる

# 筆者について
新卒時代に1mmくらいWebエンジニアとしてのキャリアがあるくらいの素人

# 記事を残そうと思った理由
昔の記憶を掘り起こしたり色々調べたりして今回やったことを今度なんかの機会にやりたいなと思った時に見返せる自分用メモ
素人なので情報の信用性とか用語の使い方とかの解像度が薄めです
また、個々の技術については基本は他の方の記事やブログから得た情報です

# ワークフロー
※6以降は今の時点では願望レベルです

1. レンタルサーバーを借りる
1. 独自ドメインを取得する
1. Pukiwikiをサーバーにインストール
1. フロントを簡単にいじれるように環境を整える
1. 記事を書く

元記事を表示

GitのコミットにGnuPGで署名する

Gitのコミットには、ユーザのメールアドレスが記録されています。メールアドレスを使って、誰がコミット作成者(Author)やコミット実施者(Committer)であるかを判別する仕組みになっています。

しかし、メールアドレスは各自が `git config` で設定する属性です。実のところ、設定を変更すれば他者へのなりすましが簡単にできてしまいます。

なりすましの対策として、Gitのコミットにデジタル署名をすることで、なりすましではなく本人であることを示せます。特に、GitHubで設定しておけば、署名つきコミットに対して「Verified」バッジが表示されます。

![GitHubのVerifiedバッジ](https://raw.githubusercontent.com/usami-k/qiita-contents/main/2022/images/git_gpg_sign_verified.png)

本記事では、macOSでGitのコミットに署名し、GitHub上で「Verified」バッジが表示されるよう設定する方法を紹介します。

## 必要なツールのインストール

元記事を表示

Subversion, Git, Perforceの比較

# はじめに
ゲーム開発のようなコードとバイナリデータが混在し, 企画, アーティスト, エンジニアなどがチーム作業するプロジェクトを想定して比較したいと思います.
Perforceに関しては合計で2年ほどの経験ですので, 間違いも多いと思います.
定性的分析に基づきますので, 感想セクションに限らず全て私見と思っていただけると幸いです.

## バージョン管理システム

バージョン管理システム(VCS)の, 次のような項目を比較します.

| 項目 | 説明 |
| :— | :— |
| ライセンス | 価格や導入のコスト |
| バイナリ | バイナリファイルの運用 |
| 運用コスト | 多プロジェクトも含めた運用コスト |
| 学習コスト | 主にエンジニア以外の使用が容易か |
| ワークフロー | ブランチなどのワークフローの柔軟さ |
| GUIクライアント | エンジニア以外に最重要 |

次のようなVCSがサポートする(べき)範囲外は含めません.

– コードレビューなどの他のシステムをサポートする機能
– ホスティングソフトウェアやその他のツ

元記事を表示

実名を公開したくない

# はじめに

XcodeのプロジェクトをGithubにプッシュしようとしたら、プロジェクトに自分の氏名が含まれているではありませんか!
私はインターネット上に自分の名前が出ることを避けたい部類の人種なので、これは排除しなければならないと思いました。

# 環境

macOS 12.5
Xcode 13.4

# ソースファイルのヘッダ

ソースファイルを作成すると、先頭に自動的に著名のコメントが挿入されます。
この「Created by (名前)」の部分を変える方法は以下の通りです。

1 `IDETemplateMacros.plist`というファイルを以下の内容で作成する。

“` xml:IDETemplateMacros.plist

元記事を表示

【git】リモート追跡ブランチと上流ブランチを理解したい

## 目的
`リモート追跡ブランチ`と`上流ブランチ`をそろそろ理解したい。

## 基本のおさらい

gitの基本的な構成
![image_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/969534/1d8a583a-b42d-8ec6-1f72-2fc8d9a6fec0.png)

・**`git fetch`**: リモートブランチの内容をローカルリポジトリのリモート追跡ブランチへ反映する

・**`git merge`**: ローカルリポジトリ内でリモート追跡ブランチの内容をローカルブランチへ反映する

・**`git pull`**: `git fetch`と`git merge`をまとめて行う。

・**`git push`**: ローカルブランチの内容をリモートブランチとリモート追跡ブランチへ反映する。

↓過去にまとめた記事があるので、よろしければ見てください..!!
>第1回目 git基礎コマンド (https://qiita.com/tatsuya_1995/items/b07

元記事を表示

SourceTreeでコミットしたときにhuskyが動かないときの対処法

今まではSourceTreeをターミナルから起動することで対応していました。
でも毎回は面倒くさい…。
調べていたら、1コマンドで簡単にhusky用の設定ファイルを作成できる方法を見つけました。

環境:macOS Catalina 10.15.7
gitクライアントツール:SourceTree

# SourceTreeでコミットしてエラーが出たときの、今までの対処法
“`
.husky/pre-commit: line 4: npm: command not found
husky – pre-commit hook exited with code 127 (error)
“`
上記のようにエラーが発生してコミットできなくなることがあります。
その度にターミナルで
“`
$ open /Applications/Sourcetree.app
“`
を実行し、SourceTreeをターミナル経由で起動することで解決していました。
こちらの方法も有用ですので、これから記述する対処法でもし解決しなければ試してみてください。

# 設定ファイル.huskyrcを作成する
[hus

元記事を表示

Git奮闘録

# 概要
Gitを使った行き詰った問題や、その解決できた参考サイトをまとめた、Git初心者の備忘録。
基本自分の記録用に書いているので、自分の起こった出来事→その解決法という形式で記述する。
**Git初心者が書いています。説明等に間違い・誤解を招く表現があると予想されます。正確な仕様・詳しい解説は各自調べてください。~~何かしらの被害が出てもおあしす としか言えません。~~**

# Electronでnode_modulesをcommitしてしまった
## 発生した問題
electronアプリを作成し、GitにPushしようとしたとき、node_modulesの中にあったelectorn.exeのサイズが100MBを超えており、pushできなかった。
Gitでpushする際、100MB以上のファイルをアップロードできない。これを解消するため、node_modulesをGitの管理から外し、すべてのcommitから削除する必要があった。
↓と同じ問題。
https://teratail.com/questions/225579
## 解決とその参考サイト
### Gitの管理から外

元記事を表示

【#46 エンジニア転職学習】GinTutorialのWebApp改造 HTMLに連動させる

# はじめに
富山県に住んでいるChikaといいます。
毎日投稿を目標に、バックエンドエンジニア転職に向けた学習内容をアウトプットします。

GoのフレームワークであるGinを中心に、
webアプリ開発学習をしていきます。

バックエンドエンジニアになるまでの学習内容は以前投稿した以下の記事を基にしています。

https://qiita.com/Chika110/items/ef54dddd565a0193ef44

# 本日の学習内容
GinのTutorialで作成したAPIを改造して、簡素なWebアプリを作成しようと思います

* **GinとGORMを使用したAPIをHTMLに連動 ←Topics!!**

# GinとGORMを使用したAPIをHTMLに連動
先日GORMを使用してDBと連動させたAPIをHTMLファイルとつなげて、
Webから操作できるようにしました。

db.Closeが書かれているコードもありますが、
POST後のRedirect時などに正常に反応しなかったのでCloseはしてません。
正常に反応する修正方法等、アドバイスあればいただきたいです。

元記事を表示

git addした日時をしらべる

# TL;DR

`git add`だけされて未コミットのファイル群がある場合、
“`shell:Macの場合
ls -lT .git/objects/ | sort -k6
“`

これで列挙されるディレクトリ群で、タイムスタンプが最新のものが、「最後にgit addした日時」である可能性が高い。

各ディレクトリ内のファイルは`zlib`で圧縮されているので、最新時刻のディレクトリ内のファイルを解凍した中身と、現在`git add`済みのファイルを比較して一致すれば間違いない。

# 背景

複数のGitリポジトリを1つのエディタで開いて色々と作業していた時に、`git status`したら、`git add`だけされて未コミットの状態(ステージングエリアに入っているだけ)のファイルがいくつか見つかりました。

そのファイルは読むためにエディタで開いていましたが、編集した記憶はありません。
以下のどっちなのか分からず、不安になりました。

* 実は操作ミスで今日編集してaddしちゃった
* かなり前にaddだけしてcommit忘れて放置しちゃった

ところが、`git add`

元記事を表示

OTHERカテゴリの最新記事