- 1. PHPのコード整形と静的解析をpre-commitでコミット時に自動で実行したい
- 2. Git ローカルのブランチをリモートリポジトリへpush(n回目(n>=2))
- 3. ローカル管理していたソースをBitbucketで管理する方法
- 4. これまでgit管理下にあったフォルダやファイルをgit管理から除外する方法
- 5. ?【Win/Mac】はじめてのSSH接続?GitHubからリポジトリをクローンしてみよう!
- 6. git checkout時にファーストコミット自動化
- 7. [git] 突然の403エラー
- 8. 初心者向け、いろいろ細かく説明した、Git Flowに沿った運用方法について
- 9. GitとHeroku CLlを使ってデプロイする
- 10. 【備忘録】4月3週目学んだこと(SQL編)
- 11. gitの変更を取り消したい【状況別】
- 12. Rails×Nuxtで初期プロジェクトを作成しgitサブモジュールで管理する手順
- 13. 【SourceTree】GithubからCloneできない問題
- 14. docker-compose up コマンドでコンテナを生成、起動させたいけど、ERRORがでて起動しない。(gitのバージョン修正で解決)
- 15. Gitを使った開発の流れ【準備編:リポジトリの作成】
- 16. 【Git】メッセージのみコミットする方法
- 17. GitHubでリポジトリをSSHに移行したときのメモ
- 18. Git・ターミナルでPHPを実行_4/15
- 19. Github、BitbucketとのSSH接続
- 20. GithubでSSH認証に失敗するときのリセット方法
PHPのコード整形と静的解析をpre-commitでコミット時に自動で実行したい
# 実現したいこと
Gitのpre-commitフックを使って、コミット時にPHPファイルのコード整形と静的解析が実行されるようにしたい。# 問題点
commit時にpre-commitに登録したスクリプトは動き、コード整形はされるがコミットができない。
途中でエラーが発生している。# 参考にしたサイト
https://zenn.dev/takuyanagai0213/articles/2685fe51f7afe5https://qiita.com/Sho2010@github/items/eae44da09aa279e7e598
# 必要なパッケージ
* php-cs-fixer(コード整形)
* phpmd(静的解析)
それぞれのパッケージについては解説しません。
https://zenn.dev/takuyanagai0213/articles/2685fe51f7afe5#%E9%9D%99%E7%9A%84%E8%A7%A3%E6%9E%90%E3%83%84%E3%83%BC%E3%83%AB%E5%B0%8E%E5%85%A5
導入に関しては上記を参考にし
Git ローカルのブランチをリモートリポジトリへpush(n回目(n>=2))
## push時のターミナル操作
Aという名前のローカルブランチをリモートのBブランチにpushしたい
git checkout A
git pull origin Bgit add .
git commit -m “コメント”git push origin A
——————–
※ちなみにAがadd_trainingという名前のブランチだった場合、最初の方は
git checkout add_training
git pull origin trainingローカルをadd_trainingにcheckoutしてから、リモートのtraining をpullするのが正解!
origin/training はリモートのtrainingの履歴を持ってきたローカルにあるブランチ。
git pull origin training :git fetch origin training でorigin/training へとリモートのtrainingの履歴を持ってきて、git merge origin/trainingでその履歴をローカルのadd_t
ローカル管理していたソースをBitbucketで管理する方法
## 事前準備
– Bitbucketのアカウントの作成、及びワークスペースやプロジェクトの作成
– Source Treeのアプリインストール## ローカル管理していたソースをBitbucketで管理する方法
1.Bitbucketで該当プロジェクトを選択
2.右上Create>リポジトリ
3.リポジトリ名はローカルの該当フォルダ名と同一でok
4..gitignoreについては以下参照
https://k-sasaking.net/programing/gitignore-setting/
5.リポジトリの作成
6.右上のクローンの作成を押し、git clone 以降のSSHリンクをコピー
7.Source Treeを起動し、ローカルリポジトリタブをクリック→新規作成
8.保存先のパスは管理したいソースが含まれているフォルダのパスを指定
タイプはGitでok
リモートリポジトリはさっき作っているのでチェック不要
で、作成する
9.作成されたローカルリポジトリをSource Tree上で開く
10.保留中のファイル、パス順の左のチェックを入れて、全てのファイルにチェックが
これまでgit管理下にあったフォルダやファイルをgit管理から除外する方法
## .gitignoreを使う
1.ターミナルにて、git管理下ルートフォルダまで移動
2.Vim .gitignoreで開く(or 新規作成)
https://k-sasaking.net/programing/gitignore-setting/
を参考に追記して:wqで保存
予めコピーしてある内容があればそれもペースト
3.ターミナルにて以下コマンド実行
“`test-git.cmd
git rm -r —cached .
git add .
git commit -m “.gitignore update”
“`
4.Source Treeからプッシュ
***
参考
https://ticklecode.com/gitignoreupdate/#gitignore%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92Vim%E3%81%A7%E4%BF%AE%E6%AD%A3%E3%81%99%E3%82%8B%E3%80%82
https://k-sasaking.net/programing/gitignore-settin
?【Win/Mac】はじめてのSSH接続?GitHubからリポジトリをクローンしてみよう!
HTTPSクローンしかやったことがなかったあなたへ贈るSSHクローン総まとめ?
SSH Keysの発行~リポジトリのクローンまで、GitHubを例にやってみよう!## 前提
– Windows10 または macOS Monterey 12.0.1 想定
– 管理者アカウント
– Gitのユーザ設定が適切されている(本記事の工程をすべて終えた後に設定してもOK)
– `git config –global user.name`
– `git config –global user.email`:::note info
**Package managerを入れよう**
ソフトウェアインストールが楽になるのであらかじめ、Windowsなら[Chocolatey](https://chocolatey.org/install)、macOSなら[Homebrew](https://brew.sh/index_ja)を入れておきましょう!?– [Chocolateyのインストール方法](https://qiita.com/heppokofrontend/item
git checkout時にファーストコミット自動化
## ターゲット層
ブランチを切った時間を計測したい人。## 記事を書く理由
会社の進め方がFour Keysになったからです。Four keysではleadtimeを計測するものがあり、それを計測するためにブランチを切った時間を測る必要がありました。切った時間を取得したかったのですが、切った時間はgitに残らないっぽいです。なので自分でcheckout -bした直後にcommitする必要がありました。それが面倒でかつ、何回か忘れてしまったので自動化しようと思いました。今進めているFour Keysの詳細はこちら↓
https://cloud.google.com/blog/ja/products/gcp/using-the-four-keys-to-measure-your-devops-performance
## 手順
1. gitconfigにaliasを追加
1. ターミナルを開き直す
1. bcheckoutの実行## gitconfigにaliasを追加
~/.gitconfigにaliasを追加
“`sh:.gitconfig
[alias]
bc
[git] 突然の403エラー
# 概要
しばらく使っていなかったgit環境が使えなくなっていた。# 結論
~/.git_credentialsの設定を削除
初心者向け、いろいろ細かく説明した、Git Flowに沿った運用方法について
git flow に沿った運用は概念は分かっていても、具体的にどうやって運用を行えばいいのか色々と調べている内に手順が出来たので、せっかくなので記事にしてみようと思いました。 初学者の方は参考にして頂ければ幸いです。
https://nvie.com/posts/a-successful-git-branching-model/
#### 各ブランチの役割
* masterブランチ:本番環境
* releaseブランチ:ステージングとしての役割や、本番環境に近い状態でデプロイを行う環境
* hotfixブランチ:緊急の修正作業用
* developブランチ:開発用
* featureブランチ:作業用
※開発環境は決まってはいませんので、プライマリブランチ(main, develop)、サポートブランチ(release, feature, hotfix)というくらいの感覚でも良いかと思います。## 1. 準備作業
* プロジェクトが手元にないなら、まずはcloneコマンドでコピーします。
“`
git clone <cloneしたいGitHubプロジェクトのURL>
“`
GitとHeroku CLlを使ってデプロイする
## 参考
この記事の内容はおおよそこちらのページに書かれています。https://devcenter.heroku.com/ja/articles/git
## 環境
– **Windows OS**
– **VS Code**
– **Git**
– **Heroku CLI**Githubのインシデントにより自動デプロイが動かなくなったので、今後のために取り急ぎHeroku CLIを使ってデプロイを行う方法を超大雑把にメモ。
※今までGithubを使って自動デプロイしていた場合を想定しています。
## 手順
はじめに**Heroku CLI**と**Git**をインストールします。> **Heroku CLI**
https://devcenter.heroku.com/ja/articles/heroku-cli#download-and-install
**Git**
https://git-scm.com/book/en/v2/Getting-Started-Installing-GitVS Codeでいつものようにフォルダを開き変更を保存します。
※
【備忘録】4月3週目学んだこと(SQL編)
ど初心者です。間違いに気付いたら適宜直し、書ききれなかったことは加筆もしていきます。
## SQLとは
クエリ(DBMSに対する問合せ)を実行するための言語## 句・文など
### select:列を指定
### from:テーブルを指定
~~~ SQL
— usersというテーブルのname列を取得
select name
from users;
~~~
~~~ SQL
— usersテーブルの全列を取得
select *
from users;
~~~### where:取得する**行**に条件をつける
~~~ SQL
select *
from users
where age <= 30; -- 30歳以下のユーザを取得 ~~~ #### 演算子一覧 `=`:等号 `<`と`>`:大小比較(日時などにも使用可能)
`!=`:不等号(`<>`と書くことも可能)
`in`:リストの1要素と一致するものだけ取得
`between a and b`:aからbまでの範囲
`like`:ワイルドカードに一致するものを取得
##### `in`の使用例
~~~ SQL
se
gitの変更を取り消したい【状況別】
誤ってgit add/commitした時、叩くべきコマンドを忘れがちなので、復習&備忘録として投稿します。
## ワークツリーの変更を取り消す
“`bash
$ git checkout –ファイル名 #ファイルの変更を取り消す
$ git checkout –ディレクトリ名 #ディレクトリの変更を取り消す
$ git checkout –. #全ての変更を取り消す
“`**ステージの情報をワークツリーに上書きすることで**、ワークツリーの情報を元に戻す仕組み。
ここでは、git add や git commit していないことを前提としているので、ステージの情報が更新されていない。そのため、ステージの情報を用いて元に戻してる。
## git add を取り消す
“`bash
$ git reset HEAD ファイル名 #ファイルの変更を取り消す
$ git reset HEAD ディレクトリ名 #ディレクトリの変更を取り消す
$ git reset HEAD. #全ての変更を取り消す
“`**リポジトリ(今いるブランチの最新のコミット)の情報をワーク
Rails×Nuxtで初期プロジェクトを作成しgitサブモジュールで管理する手順
## はじめに
Docker環境下のフロントエンド(Nuxt.js)とバックエンド(Rails API)を別々のリポジトリとして切り分けてみたい。となった際に、サブモジュール化する手順を学びました。
本記事では、「Rails×Nuxtで初期プロジェクト作成し、サブモジュール化するまでの流れ」を備忘録的にまとめています。
#### 実行環境
– macOS Catalina: 10.15.4
– docker version: 19.03.13### 目次
– git submodulesの概要
– docker環境構築
– APIモードでrails×mysqlの初期プロジェクトを作成
– nuxt初期プロジェクトを作成
– サブモジュール化### 最終的なディレクトリ構造
“`
./
├── .gitmodules
├── docker-compose.yml
├── api/
│ ├── Gemfile
│ ├── Gemfile.lock
│ ├── Dockerfile
│ ├── environments
│ | ├── db.en
【SourceTree】GithubからCloneできない問題
GithubからSourceTreeを介してCloneしようとしたら、「リボジトリのクローン」のポップ画面で、
「ソースパス、またはソースURLとして正しくありません」という画面が出てクローンができなかった。下記画面のソースURLにGithubのSSHからURLをコピーして貼っても
「これは正しいGitリボジトリです」にならない。![スクリーンショット 2022-04-17 4.04.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/145328/003056ce-7ad2-4d17-3d17-83fbe886ed00.png)
ちなみにもちろん、GithubにSSH設定はしていて、前はそれでクローンできていた。
しかし、久しぶりにクローンしようとしたらできない。そこで対策方法を検索してみたら
1)ホスト名とソースURLが違っている
(参考)
https://qiita.com/daijiro_maeyama/items/002301850c998b13a3aa
→同じだった
2)ht
docker-compose up コマンドでコンテナを生成、起動させたいけど、ERRORがでて起動しない。(gitのバージョン修正で解決)
INDEX
[1. やりたいことを確認する。](#1-やりたいことを確認する)
[2. 課題(エラーの状況、不明点、エラーログ)を確認する。](#2-課題エラーの状況不明点エラーログを確認する)
[3. 調査する(ググる、ドキュメントを読む)](#3-調査するググるドキュメントを読む)
[4. 調査結果からの考察、対策を実行する。](#4-調査結果からの考察対策を実行する)
[5. その他調べたこと参考文献](#5-その他調べたこと参考文献)## 1. やりたいことを確認する。
– `docker-compose up` コマンドでコンテナを生成、起動したい。
– 学習のため、この記事にアウトプットするサンプルアプリを作成しているところ。https://ryamate.hatenablog.com/entry/2022/04/15/180000
– 該当のDockerfile(PHPのコンテナ)は、以下の内容。
“`docker:docker/php/Dockerfile
FROM smaregi/php:7.4.19-fpm-alpine3.13 AS php-ba
Gitを使った開発の流れ【準備編:リポジトリの作成】
## はじめに
Gitを使った開発に入る前の準備として、リポジトリの作成手順を解説します。
以下の流れで進めていきます。
> 1.リモートリポジトリの作成
> 2.ローカルリポジトリの作成
> 3.ローカルリポジトリの内容をリモートリポジトリに反映させる## 手順
### 1.リモートリポジトリの作成
まず初めに、GitHub上にリモートリポジトリを作成します。“`
GitHubの「New repository」からリモートリポジトリを作成。
“`### 2.ローカルリポジトリの作成
次に自分のPC上にローカルリポジトリを作成します。#### 2-1.ディレクトリの作成
“`
$ mkdir [ディレクトリ名]
“`#### 2-2.ファイルの作成
作成したディレクトリに移動し、何でもいいのでファイルを作成します。
“`
$ cd [ディレクトリ名]
$ echo “# test” >> README.md
“`#### 2-3.ローカルリポジトリの作成
“`
$ git init
“`#### 2-4.ファイルをローカルリポジトリに反
【Git】メッセージのみコミットする方法
# 概要
「メッセージだけコミットする方法なんだったっけ」と、使う場面が少ないからこそ役立つ忘備録。# メッセージのみコミットする
“`shell
# メッセージを作成
git commit –allow-empty -m”” # git push
git push origin
“`# おまけ(これもよく調べ直しがち)
### ブランチ作成&切り替え
“`shell
git checkout -b
“`
GitHubでリポジトリをSSHに移行したときのメモ
GitHubのリポジトリ接続をSSHにした時のメモ。
# 公開鍵・秘密鍵生成
鍵を入れるためのフォルダを作成。“`
% mkdir ~/.ssh && cd ~/.ssh
“`
RSA暗号で鍵を生成。
“`
% ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (~/.ssh/id_rsa): id_git_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_git_rsa
Your public key has been saved in id_git_rsa.pub
“`
`id_git_rsa`の部分は任意の名前。空欄にするとid_rsaになる。
このコマンドを実行するとカレントディレクトリに鍵が吐き出されるので、`~/.ssh`にいなければいけ
Git・ターミナルでPHPを実行_4/15
## Gitの基礎的なコマンド
“`
git clone
git checkout -b 新しいブランチ名
git add .
git commit -m “コメント”
git push origin A
“`
参考URL
https://qiita.com/samurai_runner/items/7442521bce2d6ac9330b——————-
## ターミナルでPHPを実行する
1.ターミナルで任意のフォルダまで移動
2.「php ファイル名」で実行できる※「コマンド+jキー」でターミナルの表示・非表示を入れ替えるショートカット
Github、BitbucketとのSSH接続
何度も何度もSSH接続のやり方を調べるの面倒なので備忘録として。超初心者用です。
### WindowsでSSHキーペアを作成する
“`shell
ssh-keygen -t rsa -f .ssh/id_rsa
“`コマンドプロンプトでssh-keygenコマンドを実行。(Windows7の場合はssh-keygenコマンドが使用できないらしいのでGitBashとかでやろう)
なんか聞かれるけどEnter押し続けて大丈夫。
“`shell
The key’s randomart image is:
+—[RSA 3072]—-+
| +.=AB+ ++o |
| o.++@+B. =. |
|. o . oo=+*.Eo. |
| + o o +=oo . |
|. . + .A+o. |
| o .+ |
|. . |
| + |
| ● |
+—-[SHA256]—–+
“`↑みたいなのが表示されたら
GithubでSSH認証に失敗するときのリセット方法
# はじめに
GitHubでpushする際に求められるパスワードの入力の手間を省くため
SSHを設定してみたはいいもの、どうしても下記のようなテキストが表示され
認証されない場合のリセット方法です。“`
$ ssh -T github.com
“`
“`
github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
“`
これでは毎度http通信でGitHubにアクセスしなければならず、パスワード入力が非常に面倒です。
以下に簡単ですがリセットの手順を説明します# 手順
1. Githubの公開鍵を削除
2. /.sshディレクトリの中身を削除
3. 新たに公開鍵・秘密鍵を作成
4. GitHubに新しい公開鍵を登録
5. 接続テスト### 1. 公開鍵の削除
* GitHubの設定画面で公開鍵を削除
https://github.com/settings/keys![image.png](https://qiita-image-store