- 1. gitでaddし忘れたファイルがあった場合の対応方法
- 2. 【#20 エンジニア転職学習】Git/Github基礎 rebase
- 3. 自宅内でHTTPアクセスできるGitサーバを構築してみたので手順をメモしておく
- 4. 一度ステージした内容を変える
- 5. terraformをgithubとvs codeとgitbashで使いこなす(windows)[terraformインストール編]
- 6. 【#19 エンジニア転職学習】Git/Github基礎 プルリクエスト
- 7. GithubにSSH接続できるのに、Git操作時にエラーが出る場合の確認ポイント
- 8. github clone で鍵を指定する
- 9. git 一次避難
- 10. git タグ付け
- 11. git リベースで履歴を書き換える
- 12. git プルのマージ型、リベース型
- 13. GitHubでEmojiコミットメッセージを残す
- 14. SourceTree(ソースツリー)| revert(リバート)| コミットを打ち消し
- 15. herokuにマスター以外のブランチをpushする方法(自分用)
- 16. git initをしたらReinitialized existing Git repositoryがターミナルに出力された。
- 17. VSCodeにて仮想環境上(venv)でgitコマンドが認識されない
- 18. 【#18 エンジニア転職学習】Git/Github基礎 ブランチ/コンフリクト
- 19. 【Git】リモートブランチを特定のブランチの状態で上書きする方法
- 20. jenkins:submoduleまでまとめて取得する(pipeline)
gitでaddし忘れたファイルがあった場合の対応方法
## 結論
以下を行えば良い。### 1.
追加し忘れたファイルをgit addする“`bash
git add ${addし忘れたファイル}
“`### 2.
以下コマンドを実行する“`bash
git commit –amend
“`コミットメッセージを修正する画面が表示される。
特に編集しないで`:wq`を入力する。## 参考
https://tech-blog.rakus.co.jp/entry/20191113/git
【#20 エンジニア転職学習】Git/Github基礎 rebase
# はじめに
富山県に住んでいるChikaといいます。
毎日投稿を目標に、バックエンドエンジニア転職に向けた学習内容をアウトプットします。本日2回目の投稿になります。
引き続きGit基礎を進めています。学習教材の進捗的におそらく今回がGit基礎の最後になるかと思います。バックエンドエンジニアになるまでの学習内容は以前投稿した以下の記事を基にしています。
https://qiita.com/Chika110/items/ef54dddd565a0193ef44
# 本日の学習内容
本日はGitのプルリクエストに関する基礎を学習しました。* **rebase ←Topics!!**
* タグ付け# git rebase
その名のとおり親コミットの情報(ベース)を新しいものに統合していくコマンドです。**mergeが枝分かれを残して**統合するのに対して、**rebaseは履歴が一直線になる**イメージです。
またrebase -iオプションを使用することでコミットの修正や分割・統合等ができます。* merge:pushした後 or コンフリクトしそうなとき
* r
自宅内でHTTPアクセスできるGitサーバを構築してみたので手順をメモしておく
## 個人情報ってどこに保存してますか?
– オンラインストレージサービス
– GitHub
– S3色々思いつくものはありますが私はいまだに自宅に設置したファイルサーバーを使っています。私の考え方が古いのかもしれませんが情報漏えいのリスクを考えてしまい外部ストレージを使うことに抵抗があるからです。
幸いにもこれまでのところ問題が起きたことはありません。とはいえ、
– ファイルサーバーが死んでしまいデータそのものがなくなってしまう
– パスワードを記載したファイルをうっかり変更して履歴がないためパスワードを紛失するなどがありそうで常に危うさを感じていました。今回のタイトルにもある通りGitを使えば履歴はいつでも復元できますし最悪ファイルサーバーが死んでしまっても各端末にリポジトリのコピーが残されていれば致命傷は避けることができそうです。
というわけで自宅のファイルサーバにGitをインストールしHTTPで接続できるようにする+運用方法についてのメモを残しておくことにします。
## インストールするもの
– Git
– Webサーバ ※本記事ではApache2を使って
一度ステージした内容を変える
一度ステージした後別の内容に修正してステージしてコミットしたくなった時は
“`git add“`でもう一度ステージし直す。“`
**********@mbp training % git status
On branch master
Changes not staged for commit:
(use “git add…” to update what will be committed)
(use “git restore…” to discard changes in working directory)
modified: .idea/workspace.xml
modified: hello.txtUntracked files:
(use “git add…” to include in what will be committed)
.gitignoreno changes added to commit (use “git add” and/or “git commit
terraformをgithubとvs codeとgitbashで使いこなす(windows)[terraformインストール編]
# 事前準備
・AWS CLIを使えるようにしておくこと(認証情報も Command line or programmatic accessなどから取得して設定しておく)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/969819/d445165e-7518-ccbb-4a52-2c2639bc6e97.png)
・vs code,gitbash はインストールしておく# 概要
タイトルのツールを使ってterraformをインストールするところからgithubのリポジトリにプッシュするまでの流れを説明していきます# terraformインストール
①下のリンクでダウンロードサイトからダウンロード
https://www.terraform.io/downloads
適切な方をダウンロード(適切でないとダウンロードに失敗するはずですので最悪どっちもしてみてもいいと思います)②ダウンロードしたzipを展開しておく
③環境変数設定を利用してパスを通す
![image.png](
【#19 エンジニア転職学習】Git/Github基礎 プルリクエスト
# はじめに
富山県に住んでいるChikaといいます。
毎日投稿を目標に、バックエンドエンジニア転職に向けた学習内容をアウトプットします。昨日は夜すぐに寝てしまいましたので、本日2回投稿します。
引き続きGit基礎に関して進めていきます。バックエンドエンジニアになるまでの学習内容は以前投稿した以下の記事を基にしています。
https://qiita.com/Chika110/items/ef54dddd565a0193ef44
# 本日の学習内容
昨日はGitのプルリクエストに関する基礎を学習しました。* **プルリクエスト ←Topics!!**
* リベース全体像# プルリクエスト
チーム開発する際に他の人に**コードレビューしてもらい**→リリース用ブランチに取り込んでもらうための機能です。ざっくり手順
1. 開発用ブランチ作成・編集
1. 変更を`commit`してGitHubに`push`
1. GitHub上のプロジェクト内「**Request**」タブで「**pull request**」を新規作成
1. 指定した相手から**OKがもらえたらba
GithubにSSH接続できるのに、Git操作時にエラーが出る場合の確認ポイント
最近新しいMacにしました。
移行アシスタントで丸ごとコピーしたのですが、なぜかgit pullができず困っていました。
しかしやっと原因が分かったので、メモを残します。移行後いつも通りgit操作を行うとするとエラーになる。
“`bash
$ git pull origin develop
Username for ‘https://github.com’: tar-xzvff
Password for ‘https://tar-xzvff@github.com’:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authe
github clone で鍵を指定する
## 具体的に鍵指定するのってどういうシーン?
* 既にgithubを使用していて、クライアント指定のgithubアカウントを使って開発する場合
* 既に使用している公開鍵を複数のアカウントに設定することはできない
* クライアント指定の秘密鍵を使用する場合
* 滅多にないけど、秘密鍵を使い回しているパターン## 前提条件
id_rsa_exampleを、~/.ssh ディレクトリに置いていること### ホストを設定する
“`
host example
hostname github.com
identityfile ~/.ssh/id_rsa_example
user git
“`
### git cloneする
“`
git clone example:project/repo
“`
git 一次避難
作業が途中でコミットしたくないけど別のブランチで作業しないといけない。
そういう時に作業を一時避難する。#### 作業を一次避難する
“`
git stash
git stash save
“`
#### 作業した作業を確認する
“`
git stash list
“`#### 避難した作業を復元する
“`
git stash apply
“`
#### ステージの状況も復元する
“`
git stash apply –index
“`#### 特定の作業を復元する
“`
git stash apply [スタッシュ名]
git stash apply stash@{1}
“`*applyは適用するという意味
#### 避難した作業を削除しよう
“`
git stash drop
“`
#### 特定の作業を削除する
“`
git stash drop [スタッシュ名]
git stash drop srash@{1}
“`#### 全作業を削除する
“`
git stash clear
“`
git タグ付け
gitのタグは2種類ある(注釈付きタグ)と(軽量タグ)
#### 注釈付きタグ
“`
git tag -a [タグ] -m “[メッセージ]”
-mはエディタを立ち上げずにメッセージを入力できる
“`#### 軽量タグ
“`
git tag [タグ名]
“`
#### 後からタグ付けする
“`
git tag [タグ名] [コミット名]
“`#### タグのデータを表示する
“`
git show [タグ名]
“`
タグをリモートに送信するには
git push コマンドで別途指定する#### タグをリモートリポジトリに送信する
“`
git push [リモート名] [タグ名]
“`#### タグを一斉に送信する
“`
git push origin –tags
“`
git リベースで履歴を書き換える
コミットをきれいに整えてからpushしたい時は履歴を書き換えよう。
*GitHubにPushしていないコミット
“`
直前のコミットをやり直す
git commit –amend
“`
リモートリポジトリにPushしたコミットはやり直したらダメだよ。
“`
複数のコミットをやり直す
git rebase -i <コミットID>
git rebase -i HEAD~3pick gh21f6d ヘッダー修正
pick 193054e ファイル追加
pick 84gha0d README修正
“`-iは–interactiveの略だよ。
対話的リベースといって、やり取りしながら履歴を変更していくよ。#### やり直したいcommitをeditにする
“`
edit gh21f6d ヘッダー修正
pick 193054e ファイル追加
pick 84gha0d README修正
“`
#### やり直したら実行する
“`
git commit –amend
“`#### 次のコミットへ進む(リベース完了)
“`
git reabase –cont
git プルのマージ型、リベース型
#### プルのマージ型
“`
git pull <リモート名><ブランチ名>
git pull origin master
“`マージコミットが残るから、マージしたという記録を残したい場合に使おう
#### プルのリベース型
“`
git pull –rebase
<リモート名><ブランチ名>
git pull –rebase origin master
“`マージコミットが残らないから、GitHubの内容を取得したいだけの時は–rebaseを使おう
#### プルをリベース型に設定する
“`
git config –global pull.rebase truemasterブランチでgit pullする時だけ
git config branch.master.rebase true
“`–rebaseオプションを付けなくてもgit pullの挙動がリベース型になるよ
“`
~/.gitconfig
~/.config/git/config
“`
–globalを付けるとPC全体の設定になるよ“`
project/.git
GitHubでEmojiコミットメッセージを残す
## .commit_template
“`
# ? :seedling: Initial commit
# ? :memo: ドキュメント追加
# ? :bug: バグ修正
# ? :+1: 機能改善
# ✨ :sparkles: 部分的な機能追加
# ? :tada: 盛大に祝うべき大きな機能追加
# ? :art: スタイリングの修正
# ♻️ :recycle: リファクタリング
# ? :shower: 不要な機能・使われなくなった機能の削除
# ✅ :white_check_mark: テストの追加
# ? :green_heart: テストやCIの修正・改善
# ? :shirt: Lintエラーの修正やコードスタイルの修正
# ➕ :heavy_plus_sign: リソース・ライブラリの追加
# ➖ :heavy_minus_sign: リソース・ライブラリの削除
# ? :rocket: パフォーマンス改善
# ? :up: 依存パッケージなどのアップデート
# ? :lock: 新機能の公開範囲の制限
# ? :cop:
SourceTree(ソースツリー)| revert(リバート)| コミットを打ち消し
## revert(リバート)とは
Git:リポジトリ内で行われたコミットを打ち消す処理
英語:立ち戻る、戻る、復帰する
## SourceTree のやり方
コミット履歴の一覧から打ち消したいコミットを選択して、右クリックから「このコミットを打ち消し」を選択する
## コマンドのやり方
### ※注意:SourceTree では merge コミットの revert は できない
マージコミットの revert で発生するエラー
“`
no -m option was given.
▼
-mオプションが指定されていない
“`
マージしたコミットの場合は、親が2つあるので、親を指定しないと revert できずエラーが表示されるので、戻したいコミットIDの前に「-m 1」OR「-m 2」を指定してあげる
– 親1(-m 1):マージされるブランチマージ前コミット
– 親2(-m 2)マージするブランチの先頭コミット“` 書き方
git revert -m 1 1234567
“`
### 参考
– [Git – git-revert Documentation](http:
herokuにマスター以外のブランチをpushする方法(自分用)
https://blog.knjcode.com/push-branch-to-heroku/
git initをしたらReinitialized existing Git repositoryがターミナルに出力された。
git initをしたらReinitialized existing Git repositoryがターミナルに出力されたのでエラーかなと思ったら違うようだ。
Google翻訳で英語を翻訳すると「既存のGitリポジトリを再初期化」ということらしい。
つまりエラーではなくもう一回初期化してるだけみたいだ。
git cloneでリモートリポジトリからとってきたものを初期化しようとしたらこのような事態になったので消したいローカルリポジトリはおとなしくディレクトリごと削除することにした。
VSCodeにて仮想環境上(venv)でgitコマンドが認識されない
# VSCodeにて仮想環境上(venv)でgitコマンドが認識されない
windows
VSCode
venvgitはWindows版をダウンロードし、インストール済み
venv仮想環境上でgitコマンドが認識されない。
“`
> git
git : 用語 ‘git’ は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記 述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行
してください。
“`## 原因
gitインストール時に、VSCodeを選択しなかったからっぽい。## 対策
VSCodeを選択してgitの再度インストール実行。VSCode再起動で、gitコマンド通りました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/245425/f05d0455-a668-0605-6cb9-a91a85e21466.png)“`
> git
usage: gi
【#18 エンジニア転職学習】Git/Github基礎 ブランチ/コンフリクト
# はじめに
富山県に住んでいるChikaといいます。
毎日投稿を目標に、バックエンドエンジニア転職に向けた学習内容をアウトプットします。昨日に引き続きGit基礎に関して進めていきます。
バックエンドエンジニアになるまでの学習内容は以前投稿した以下の記事を基にしています。
https://qiita.com/Chika110/items/ef54dddd565a0193ef44
# 本日の学習内容
本日はGitのブランチに関する基礎を学習しました。* ブランチの基本情報
* **ブランチ作業基礎 ←Topics!!**
* マージ
* **コンフリクト ←Topics!!**# ブランチの作業基礎、コンフリクト
### ブランチの作業基礎
ブランチを利用した作業方法の基本は下記になります
* masterブランチをリリース専用
* 開発用としてtopic別にブランチ作成こうすることによってmasterが常に最新のリリース版として扱えるのでバグがあったとき等に対処しやすいそうです。
### コンフリクト
3種類あるマージパターンの1つで、**1つのファイルの同じ
【Git】リモートブランチを特定のブランチの状態で上書きする方法
# はじめに
masterブランチ(本番環境)、developブランチ(開発環境)というブランチ構成で、
develop環境で開発をしているものの、本番検証のために一時的にmasterブランチの状態にして、
修正・確認をしたいという場面があったため、備忘として手順を残しておきます。# 手順
以下はmasterブランチをdevelopブランチに反映するという手順で整理をしていますが、
上記のブランチ構成でなくても、可能なため適宜読み替えをお願いします。なお、下記手順だとコミットログもそのままの状態で元に戻すことが可能です。
:::note alert
developブランチから子ブランチを切って作業している場合、
以下の⑤の手順を行うと、子ブランチとコミット履歴がずれてしまい、エラーが発生します。並行で作業している場合については、影響がないことを必ず確認するようにしてください。
:::① developブランチに移動する
“`
git checkout develop
“`
② リモートの状態をローカルに反映
“`
git fetch origin
“`
③ de
jenkins:submoduleまでまとめて取得する(pipeline)
# 簡易チェックアウト
簡易チェックアウトの場合は、こう
“`groovy
git branch: branch_name, url: GIT_URL, credentialsId: credentialsID
“`ただ、この場合タイムアウト10分で設定されているため、10分超えるクローンや、pullだとエラーになってしまう。
また、サブモジュールの取得まではできないので、GitSCMを推奨する。# 細かく色々設定してGitチェックアウト
“`groovy
checkout([$class: ‘GitSCM’,
branches: [[name: branch_name]],
extensions: [
[$class: ‘CloneOption’, timeout: git_timeout],
[$class: ‘CheckoutOption’, timeout: git_timeout]