- 1. Terraformを使って覚える。(その2:git-secretsとVS Codeのインストール)
- 2. Gitのインストール方法(Windows版)
- 3. 【Ruby】GemをGitHubからインストールする方法
- 4. git fetchしようとしたら fatal: bad object refs/heads/master 2
- 5. 【Git】コミット前にブランチを移動してはならない理由
- 6. Linux上にリモートリポジトリを作る
- 7. 【Git】GitHubからCSSを読み込む方法【CSS】
- 8. 【husky】コミットと同時にESLint、プッシュと同時にJestを自動で走らせる
- 9. 【備忘録】コマンドラインからGitを操作する方法
- 10. 【Git】git cloneして別のリポジトリにpushする
- 11. husky の pre-push が stdin is not a tty で失敗する
- 12. Git configについて
- 13. Git 用語集
- 14. 今ファイルサーバーに GIT LFS のレポジトリをつくると嵌ります
- 15. 【Git】commit時の error: There was a problem with the editor ‘code –wait’. 解消法
- 16. 複数のGithubアカウントを使う
- 17. docker環境でcommit時にlinterを実行
- 18. git ignoreが反映されない!?
- 19. 【GitHub Actions】指定した時刻に処理を定期実行
- 20. 【Git】グローバルな.gitignoreを設定する方法
Terraformを使って覚える。(その2:git-secretsとVS Codeのインストール)
# はじめに
今回は`Terraform`の内容とは若干外れますが、`Terraform`で開発していくために使用するツール類のインストールとセットアップを行ってみようと思います。– 【前】[Terraformを使って覚える。(その1:tfenvを使ったTerraformインストール)](https://qiita.com/sakai00kou/items/34cf8a3c8047a573109a)
# 今回インストールするツール
今回は以下2つのインストール&セットアップを行います。– git-secrets
– Visual Studio Code(VS Code)# インストール環境
前回と同様、Windows端末にインストールしていきます。|種別|内容|
|:–|:–|
|OS|Windows 11 Home|
|アーキテクチャ|AMD Ryzen 7 3700U|# git-secretsとは
`AWS`が`GitHub`で公開しているツールで、`AWS`のクレデンシャル情報(アクセスキー&シークレットアクセスキー)を含むファイルが`Git`でコミッ
Gitのインストール方法(Windows版)
# 初めに
Windows版のGitのインストール方法についてまとめます。
|手順No|方法|
|—|—|
|手順1|[インストーラのダウンロード](#手順1インストーラのダウンロード)|
|手順2|[Gitのインストール](#手順2gitのインストール)|
|手順3|[Gitの設定](#手順3gitの設定)|# 手順1:インストーラのダウンロード
以下からGitのインストーラーをローカルにインストールしてください。https://gitforwindows.org/
以下のような画面に遷移すると思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/b9b2e1a2-0b2a-927c-977d-f25b4364dc1b.png)「__Download__」をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663952/d9
【Ruby】GemをGitHubからインストールする方法
## Gemfileを使用する
`Gemfile`に以下のように記述します。
“`Gemfile:Gemfile
gem “Gem名”, git: “git@github.com:ユーザー名/リポジトリ名.git”
“``bundle install`します。
“`:ターミナル
$ bundle install
“``group`, `platform`, `require`オプションが使用できます。
リポジトリには`.gemspec`ファイルが含まれている必要があります。## `gem install`する
以下のコマンドを実行することでインストールできます。
“`:ターミナル
$ gem install specific_install
$ gem specific_install -l ‘https://github.com/ユーザー名/リポジトリ名’
“`
git fetchしようとしたら fatal: bad object refs/heads/master 2
メモやでいつか丁寧に書くかも
“`ターミナル
remote: Enumerating objects: 1016, done.
remote: Counting objects: 100% (1016/1016), done.
remote: Compressing objects: 100% (349/349), done.
remote: Total 1016 (delta 707), reused 904 (delta 637), pack-reused 0
Receiving objects: 100% (1016/1016), 253.71 KiB | 1.36 MiB/s, done.
Resolving deltas: 100% (707/707), completed with 64 local objects.
fatal: bad object refs/heads/master 2
error: XXXXXXXXXXXXX.git did not send all necessary objectsAuto packing the repository i
【Git】コミット前にブランチを移動してはならない理由
# はじめに
Gitを使い始めて間もない新人エンジニアです。
以前コミット前にブランチを移動してしまい、コードが混ざり面倒なことになってしまいました。
その時になかなか仕組みが理解できなかったので、なぜそのような挙動になるのかをこの記事でまとめます。# 内容
1. コミット前にブランチを移動するとどうなるのか
2. なぜ共有されるのか
3. 番外編:コミットしたくない場合# 1.コミット前にブランチを移動するとどうなるのか
コミットを行わずにブランチを移動する際、移動先と競合する変更があった場合は、下記のようなエラーが発生します。
“`
error: Your local changes to the following files would be overwritten by checkout:
XXXXX.XX
Please commit your changes or stash them before you switch branches.
Aborting
“`
しかし競合する変更が無かった場合、そのままブランチを移動することが出来てしまいます。
Linux上にリモートリポジトリを作る
# サーバー側でgit用ユーザアカウントを作成する
“`
[root@node ~]# useradd ユーザ名 /* ユーザ作成 */
[root@node ~]# passwd ユーザ名 /* パスワード設定 */
“`
# リモートリポジトリを設定するベースとなるディレクトリを作成する
“`
[root@node ~]# mkdir -pv /opt/git /* ディレクトリ作成 */
[root@node ~]# chown ユーザ名:ユーザ名 /opt/git /* 先ほど作成したユーザに権限付与*/
“`
# リモートリポジトリを作成する
“`
[root@node ~]# cd /opt/git /* 作成したディレクトリに移動 */
[root@node ~]# mkdir test.git /* リモートリポジトリを設定するディレクトリを作成 */
[root@node ~]# cd test.git /* 作成したディレクトリに移動 */
[root@node ~]# git –bare –shared init /* リモートリポジトリを設定 */
【Git】GitHubからCSSを読み込む方法【CSS】
## リポジトリを作成する
リポジトリを作成します。
作成方法については以下のページをご参照ください。https://docs.github.com/ja/get-started/quickstart/create-a-repo
## CSSファイルをpush
CSSファイルを作成し、`push`します。## GitHub Pagesで公開
GitHub Pagesを使用します。
GitHubのリポジトリのSettignsページを開きます。
![image220726_050503.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342443/b8d9335d-cb74-3d78-d213-2098e2e93bb0.png)
下画像四角のPagesを選択します。
![image220726_050711.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342443/2af2e528-92fc-2df5-06b
【husky】コミットと同時にESLint、プッシュと同時にJestを自動で走らせる
作成したNext.jsのプロジェクトに[husky](https://typicode.github.io/husky/#/)を用いて以下の機能を追加します。
commit時に[ESLint](https://eslint.org/)を走らせてerrorがあればcommitさせない
push時に[Jest](https://jestjs.io/ja/)を走らせてerrorがあればpushさせない>huskyとは
コミットやプッシュの前にテストなどを実行して、失敗したら止めることができる Git hooks を簡単に設定することができるツール。# 導入手順
__※以下yarnを使用したhuskyの導入についての説明をしていきます。__
① [lint-staged](https://github.com/okonet/lint-staged)の導入
“`zsh
$ npx mrm lint-staged
“`② NPM スクリプトに追加
“`json:package.json
{
“scripts”: {
“lint-staged”:
【備忘録】コマンドラインからGitを操作する方法
## はじめに
コマンドラインからのGit操作を備忘を兼ねてまとめます。## 実行環境
os:Windows10
Pythonバージョン:3.10
Git:2.37.1## GitHubにプロジェクトを追加
1. GitHubのサイトにログイン
2. リポジトリを作成
2-1. リポジトリ名や公開、非公開を設定
3. リモートリポジトリのURLをコピー
3-1. 新規で作成した場合は、Quick SetupページからURLをコピー
3-2. 既に作成済みの場合は、リポジトリの「Code – HTTPS」からURLをコピー
4. コマンドラインのカレントディレクトリをローカルプロジェクトのパスに移動
5. 下記のコマンドを実施して、GitHub上にプロジェクトを追加
“`:command
$ git init
#リポジトリの新規作成または既存リポジトリの初期化$ git remote add origin [3でコピーしたURL]
#リモートリポジトリとローカルリポジトリを関連付ける。
#originがURLで指定したリポジトリ$ git remote -v
#リ
【Git】git cloneして別のリポジトリにpushする
## 別名で`git clone`
元のリポジトリ名とは別名で`git clone`します。
“`:ターミナル
$ git clone git@github.com:ユーザー名/リポジトリ名.git 別名
“`## 新リポジトリを作成する
新しいリポジトリを作成します。
作成方法については以下のページをご参照ください。https://docs.github.com/ja/get-started/quickstart/create-a-repo
## `remote url`を変更
以下のコマンドでリモートリポジトリを変更します。
“`:ターミナル
$ cd $_$ git config remote.origin.url
git@github.com:旧ユーザー名/旧リポジトリ名.git$ git remote set-url origin git@github.com:新ユーザー名/新リポジトリ名.git
$ git config remote.origin.url
git@github.com:新ユーザー名/新リポジトリ名.git
“`2回目の`gi
husky の pre-push が stdin is not a tty で失敗する
## 概要
件名のとおりですが、husky の pre-push が stdin is not a tty で git push に失敗します。使用しているのは Git Bash です。
![error.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70638/ad688a84-d2d8-4ed3-824d-6c1350ce2ff3.png)## 環境
– Windows 10 Pro
– git version 2.37.1.windows.1
– yarn v1.22.15
– husky v8.0.1## 再現環境
最小構成として以下で再現します。ちなみに `yarn run foo` ではなく `npm run foo` だと問題なく動きますので、どうも Yarn について回っている問題のようです。“`json:package.json
{
“devDependencies”: {
“husky”: “^8.0.0”
},
“scripts”: {
“f
Git configについて
## はじめに
この記事は、「なんとなく理解できた」を目的としているため、正確性、具体性に欠ける表現がございます。精度の高い情報を求めている方には向かないので、ご理解ください。
## config
config : Gitの設定内容を変更するためのコマンド
gitにある物を変更するので、configの後に何を打つのかによってかわってくる。
## おわり
最後まで見ていただき、ありがとうございます。
気になった点や、感想などをいただけると、嬉しいです。
Git 用語集
## はじめに
この記事は、「なんとなく理解できた」を目的としているため、正確性、具体性に欠ける表現がございます。精度の高い情報を求めている方には向かないので、ご理解ください。
## この記事を作るにあたって
小生は、Gitで新しい用語を記事にして書いていたのだが、用語が多くなっていちいち記事を開くのが面倒になったのでまとめとしてここに記しておく。
リスナーの皆も、そのような思いをしたものが多数いると思うので、記事として共有をする。
## コミット
コミット : Githubには、段階ごとのデータを保存して、いつでも過去の状態にあるコードを呼び出すことが出来る。
保存されたデータの状態のことを、コミットという。
## ローカルリポジトリ・リモートリポジトリ
データは、まずパソコン上にあるローカルという場所に保存される。
ローカルから、Gitを操作することで、ローカルリポジトリという場所にデータが保存される。
そこから、ローカルリポジトリを通して、githubにあるリモートリポジトリにデータが保存される。
## ディレク
今ファイルサーバーに GIT LFS のレポジトリをつくると嵌ります
# お忙しい方へ
2022年7月現在の状況です。
ファイルサーバーにつくったベアレポジトリからクローン出来ない場合、
**Git Bash 以外で**これを実行して設定を変えてみてください。
LFSを使ってないなら無関係です。“`
git config –global –add safe.directory ///DESKTOP-H1DAY/myremote/remote.git
“`DESKTOP-H1DAYがファイルサーバーの名前。前に3本線///で正しいです。Git Bashの場合は4本線////です。
remote.gitがベアレポジトリです。原因はこの件です。→ [CVE-2022-24765](https://forest.watch.impress.co.jp/docs/news/1402486.html)
なので22年4月以降の新しいバージョンで起きます。“`git version 2.37.1.windows.1“`# 状況
このようにウィンドウズのファイルサーバー(¥¥DESKTOP-H1DAY)にベアレポジトリを
【Git】commit時の error: There was a problem with the editor ‘code –wait’. 解消法
## 状況
`~/.gitconfig`に以下のように設定した上で`git commit`を実行したところエラーが発生しました。
“`~/.gitconfig
[core]
editor = code –wait
“`“`:ターミナル
$ git commit
hint: Waiting for your editor to close the file… code –wait: code: command not found
error: There was a problem with the editor ‘code –wait’.
Please supply the message using either -m or -F option.
“`## 解消法
以下の方法でpathを通すことで解消しました。VSCodeを開き、`cmd` + `shif` + `p`を入力。
「シェルコマンド:PATH内に`code`コマンドをインストールします」を実行。
![スクリーンショット 2022-07-24 午前3.37.29.png](https:/
複数のGithubアカウントを使う
ここに全て書いてありますが。。
https://www.wakuwakubank.com/posts/380-git-multiple-account/
https://qiita.com/yampy/items/24638156abd383e08758
### 秘密鍵と公開鍵を作る“`ターミナル
cd ~/.ssh
ssh-keygen -t rsa -C {Githubメールアドレス} -f {作成する鍵の名前}
“`オプション
-t・・・鍵の種類(RSA)
-C・・・コメント
-b・・・鍵の長さ(2048とか)
-f・・・ファイル名
~/.ssh/config を編集します。“`ターミナル
Host github.com.main
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa_main
TCPKeepAlive yes
IdentitiesOnly yes
Host github.com.sub
Host
docker環境でcommit時にlinterを実行
## 環境
– intel Mac
– VSCode## 前回記事
– 以下の記事にprettierやeslintの設定を書いてあります。
– まだ読んでいない方はぜひこちらからどうぞ
– [prettierやlinterの設定](https://qiita.com/kawataku-89love/items/a2912ee7e8fbe7b93f46)## huskyとは
– git hookと言ってある特定のgitの操作をしたら指定してあったコマンドを実行する
– そのgit hookを手助けしてくれるものがhusky君## lint-stagedの実行
– staging環境(git addされたもの)にあるファイルに対して、commitのタイミングでコマンドを実行できる
– lint-stagedに登録したものがcommitのタイミングで走るようになる
– 今回はformatterとlinterによる整形を行う処理を走らせようにする## ディレクトリ構成
– 以下のようなディレクトリ構成になっている
– SPA構成にしたいのでfron
git ignoreが反映されない!?
噂によるとキャッシュが原因らしい。。。
### 原因
– 以前にファイルをgitにpushしているとキャッシュが影響して反映されないとかなんとか。
– 詳しくはRefを見てください### 手順
1. .gitignore 編集
1. キャッシュを削除
1. commit & pushキャッシュ削除する際は下記コマンドを実行してみよう
“`
$ git rm -r –cached . //ファイル全体キャッシュ削除
$ git rm -r –cached [ファイル名] //ファイル指定してキャッシュ削除
“`### Ref
– https://qiita.com/fuwamaki/items/3ed021163e50beab7154
【GitHub Actions】指定した時刻に処理を定期実行
**GitHub Actions**で処理を**定期実行**させる設定手順
今回はリポジトリに作成した**Python**スクリプトを実行する## 1.リポジトリ作成
`Public`と`Private`のどちらで作成しても問題ない
※`Private`は無料枠に制限があるので注意## 2.Pythonスクリプトの作成
今回、定期実行する`Python`スクリプトを作成する
ルートディレクトリに`sample.py`以下の内容で作成“`py
import datetime# 現在時刻を出力する
print(datetime.datetime.now())
“`## 3.Pythonライブラリ設定ファイルの作成
**ルートディレクトリ**に`requirements.txt`を以下の内容で作成する“`
datetime >= 4.5
“`## 4.GitHub Actions設定ファイルの作成
1. **ルートディレクトリ**に`.github/workflows/`フォルダを作成する
1. yamlファイル`sample.yaml`を作成し、以下の内
【Git】グローバルな.gitignoreを設定する方法
## `~/config/git/ignore`を作成する
`~/config/git/ignore`を作成して`.gitignore`と同様に記述します。
“`:~/config/git/ignore
.DS_Store“`
## ファイルを指定して設定する
任意のファイルを作成して内容を記述します。
“`:ターミナル
$ echo .DS_Store > ~/.gitignore_global
“`以下のコマンドを実行するか`~/.gitconfig`に設定を記述します。
“`:ターミナル
$ git config –global core.excludesFile ~/.gitignore_global
“`“`~/.gitconfig
[core]
excludesfile = /User/ユーザー名/.gitignore_global
“`