- 1. Git 環境構築&コマンドまとめ
- 2. AWS SSO CodeCommit+SourceTreeを利用する方法
- 3. ステージしたものをないことにする
- 4. Git コマンド 基本 + その他
- 5. Git とSourceTree
- 6. 【脱フラストレーション】ターミナルでの作業効率がグンと上がるaliasの設定方法と設定例まとめ
- 7. 【Git Hooks】コミット時にコミットメッセージの自動チェックを行う。【commit-msg】
- 8. 【Git】rebaseを使う
- 9. #4 未経験32歳エンジニアがGithubと出会った日〜初期から利用した方が良いツール〜
- 10. 【Git初心者に一部のコミット取り消しは恐ろしい】けど戻しが効くようで安心
- 11. Gitの基本の「キ」 part1 gitクライアントとは?
- 12. Jenkins、gitlab連係
- 13. 前にForkしてきたリポジトリが新しくなったので差分として自分のリポジトリに入れたい
- 14. VScode起動時にopenSSHが出る場合の対処
- 15. git push した時に起きるYour branch is ahead of 'origin/main' by 1 commit の原因と解決方法
- 16. Git・Githubまとめ
- 17. Next.JSアプリケーション Deploying to Vercel ②
- 18. git cloneでPermission deniedされたときの対策
- 19. 【GitHub】テンプレートリポジトリの作成方法
- 20. gitea でsshを使ってみる
Git 環境構築&コマンドまとめ
Gitで困ったら見る、チートシート的にメモを残していきます。
## Git環境構築
### Gitのダウンロード
Gitがまだインストールされていない場合、以下ページよりダウンロード&インストール
[Gitダウンロードページ](https://git-scm.com/downloads “Gitダウンロードページ”)### Gitが入っているか確認
“`bash
git –version
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2709025/db6c9ad0-69f7-11e4-7bca-0f835a3692ac.png)
インストールされていれば、バージョンが表示される### 現在のGit設定を確認
“`bash
git config –global –list
“`### ユーザー名設定
“`bash
git config –global user.name “test name”
“`### メールアドレス設定
“`ba
AWS SSO CodeCommit+SourceTreeを利用する方法
# はじめに
AWS SSOで管理している AWSアカウントのCodecommitからクローンしたり
クローンしてきたリポジトリをSourceTreeから操作できるようにする為の
備忘録的な記事です。# 環境
– MacOS
– git
– aws-cli# 利用サービス
– AWS
– Codecommit– その他
– SourceTree# 前提
– 対象AWSアカウントのCodecommitへ リポジトリが作成されている事
– 対象AWSアカウントの認証情報が`aws configure`で設定されている事# 手順
## 1. Git Configの設定書き換え下記コマンドを実行し、Git認証情報ヘルパーがAWS認証情報プロファイルを使用するよう指定
“`
$ git config –global credential.helper ‘!aws codecommit credential-helper $@’
$ git config –global credential.UseHttpPath true
“`
ステージしたものをないことにする
“`
git reset
“`
* “`HEADを履歴の中で移動“`させる。
* “`ステージや作業ツリーの内容をHEADに合わせる“`ことにも使われる。
* “`HEADの内容をステージにコピー“`する。“`
git reset –ファイル名
“`
“`HEADの状態に戻す“`ことができる。“`
git reset –hard
“`
作業ツリーの内容もHEADの状態にもどす。
“`作業ツリーの内容が上書きされる“`のでこれをするときは注意が必要。### 気づき
“`git reset –hard“`をすると直前までの作業がなくなってしまうからか。# 演習
“`
hyoudoumasatomo@mbp training % vim hello.txt
“`
“`hello.txt
Hello!
I am a student.
hogehogehogehoge!!
hogehoge!!
hogehogematuri!!
“`
“`
************@mbp ******* % git add hello.txt
Git コマンド 基本 + その他
## Git で出来ること
– ファイルのバージョン管理
– 以前の状態に戻せる
– チームでスムーズに開発できる## GitHub で出来ること
– コードの共有
– コードレビュー
– OSS に参加## Git 基本コマンド
### git init
ローカルリポジトリを新規に作成する。
“`
$ git init
“`### git add , git commit
ローカルの変更内容をステージにあげる。ファイル名を指定。`.` は全ファイル。
“`
$ git add <ファイル名>$ git add .
“`ステージに上げたものを、コミットし、リポジトリにあげる。
“`
$ git commit -m “コミットメッセージ”
“`### git diff , git status
リポジトリとワークツリーの差分をチェックする。
“`
$ git diff
“`リポジトリとステージの差分をチェックする。
“`
$ git diff –staged
“`変更ファイルをチェックする。
“`
$ g
Git とSourceTree
# Git とは?
– コードを修正したときにファイルの変更ポイントがわかるようにする– 複数人でコードを書くときに、後で書いたコードによる上書きを防止する
⇒チーム開発がしやすい
– 変更履歴が残るため、最新の状態のファイルがどれかが分かりやすい
⇒バグ修正などの時に遡って探しやすくなる
# 感想コードを書くときに必然的に発生するミスを、修正しやすくする便利なツールなんだな、と思った。
# Sourcetreeとは?
– GitのGUI(感覚的に操作できる)Macでは、SourceTree導入の際にAppleで弾かれた際は、「システム環境設定」「セキュリティとプライバシー」から実行許可を出せる
【脱フラストレーション】ターミナルでの作業効率がグンと上がるaliasの設定方法と設定例まとめ
# はじめに
現在新卒エンジニア1年目の私が多用している、「alias」による作業効率化を紹介します!
特に、**ターミナル上での作業が多い分野(gitやrailsなど)** でこうかばつぐんでございます。# aliasとは
alias(エイリアス)とは、日本語で「別名」や「通称」という意味です。
aliasがどういうものかと言うと、一言で言えば**コマンドのショートカット**です。
ターミナルでよく打ち込む長いコマンドを省略して打ち込むことができます!# aliasの設定方法
aliasは以下のコマンドで設定できます。
“`shell
# aliasの書き方
$ alias {省略形}='{本来のコマンド}’# 例) git add -Aをgaaと省略する
$ alias gaa=’git add -A’
# 全変更分をstageすることができる
$ gaa# 例) git checkoutをgcoと省略する
$ alias gco=’git checkout’
# feature-123ブランチにcheckoutすることができる
$ gco feature-123
【Git Hooks】コミット時にコミットメッセージの自動チェックを行う。【commit-msg】
## 前提
git commitの時にコミットメッセージに特定の文字が含まれているか確認するにはどうしたらいいんだろうか?
git hooks の pre-commitで表現できるのか?
変数でコミットメッセージ受け取る方法ある、、、?#Git
— まさ?アプリ開発 (@masa_soli_s) September 7, 2022
【Git】rebaseを使う
# はじめに
Gitを触り始めたばかりの初心者です。
rebaseについて最近勉強してるので自分の考えをまとめておきます。間違っていたらコメントで教えていただけると嬉しいです。
# rebaseとは
このようなイメージをしています。
果たしてあっているのでしょうか笑
![無題41_20220912191631.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/342b3e40-956a-c8e9-99a4-543bf0e7e09a.png)# 使い方
## 標準
```:ターミナル
git rebase {ブランチ名}
```## コンフリクトを解消して続行
```:ターミナル
git rebase --continue
```## 中断
```:ターミナル
git rebase --abort
```## rebase前に戻す
```:ターミナル
git reset --hard ORIG_HEAD
```:::note info
rebase後のプッシュは後ろに
#4 未経験32歳エンジニアがGithubと出会った日〜初期から利用した方が良いツール〜
こんにちは。
ご覧いただきありがとうございます。
毎日書くと意気込んでいたのに3日坊主。
力んで内容をちゃんとしなきゃっ!!と思っていたのですが、ゆる〜くアウトプットしたいなと思う日に書くようにします。
とはいえ、
**ポートフォリオ=就活>アウトプット**
で毎日を積み重ねています!
# ご覧いただく対象者
- エンジニアを目指している方
- エンジニアとして就活をされている方# 伝えたいこと
**毎日Githubでコミット!!!**
開発エンジニアを目指している方は特に、面接官はGithubを見てくださっています。
自分自身が「毎日コミット宣言」することを含め、もしGithubを利用されていない方は利用してコミットした方がいいということをお伝えしたいです。
# Githubについて提言してくださった面接官
忘れもしないGithubと出会った今年2022年8月中旬。(登録は2022年2月)
面接の際に「Githubを確認しましたが、全く更新されていないようで・・・」
開発も請け負っている2次面接官のお言葉。
その後、
**「もし開発をされたい場合は
【Git初心者に一部のコミット取り消しは恐ろしい】けど戻しが効くようで安心
上司「この変更やっぱり戻しで!」
と言われると今までは、pushしたコミットをコピペするなど地道に進めてきました。ですが今回は、
```削除したファイルの復元 + 以前のコミット内容```
ということで私はコミット内容を一部戻すための方法を探しました。## $ git revert [コミット番号] でコミット戻し
現在の私の状況
```
$ git logcommit 12345c (HEAD -> fix_login, origin/fix_login)
Author:
Date: Thu Sep 2 12:47:41 2022ヘッダーの文言変更
commit 12345b
Author:
Date: Thu Sep 2 14:06:46 2022login時に権限を分ける
commit 12345a
Author:
Date: Thu Sep 2 15:13:03 2022ログイン対象者の遷移先ページの改修
```
この中の```commit[12345a]```の変更を戻したいので、
```
$ git r
Gitの基本の「キ」 part1 gitクライアントとは?
# はじめに
エンジニアを志して皆さん勉強を始めていきますが、gitに関して知らない方、結構多い印象ですね。
わかってしまえば非常に便利なgitですが、概念が少し分かりづらいですよね。
いきなり触るとなった場合にも困る事がないよう、経験のない方向けにシリーズとしてまとめていこうと思います。今回は[前回](https://qiita.com/YuukiYoshida/items/ed4f13e00312f53c2842)に続き、part2、gitクライアントについてご説明したいと思います。
# gitクライアントとは?
gitクライアントとは、一言でお伝えすると**gitを簡単に操作が可能なソフトウェア**の事を指します。
前回の記事でも述べましたが、gitは基本コマンドラインツールで操作をする事が多いので、操作に対してハードルが高い印象です。
そこで便利なのが、gitクライアントというわけです。GUI(グラフィカルユーザーインターフェースの略、視覚的に操作可能なものを指す)で操作可能である事から、コマンドラインツールを普段使用しない方でも簡単にgit操作が可能になります。
Jenkins、gitlab連係
## CI/CD
これについては今さら自分の方で掘り下げることもないので、割愛。デプロイとテストの自動化。## GitとJenkinsの連係
やっぱりGitでコミットしたらUTは勝手に流してほしいし、マージしたらビルドとデプロイぐらい自動化しておきたい。
なので、そこの連携の仕方だけ記録。## Gitlab
- Jenkins用のアカウントを作っておく
- ジョブ登録時のsevice idをsettingのintegrations、webhookに登録## Jenkins
- GitaLabのplugin入れる
- 管理画面からGitLabにアクセスする認証情報追加(登録していたアカウント)
- ジョブ登録![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260635/e8247199-026e-6ab7-7b9e-8966aede5b0c.png)
前にForkしてきたリポジトリが新しくなったので差分として自分のリポジトリに入れたい
# やりたいこと
- 前にForkしたリポジトリが更新されているので、自分のリモートリポジトリに同じ更新内容を入れたい。
- 更新内容(差分)を手元の枝に入れて、1変更として自分のリモートリポジトリにpushしたい。
- そしてmergeさせて差分を入れたい# これ見てやった
- フォークしたリポジトリを最新化する方法(https://qiita.com/Nossa/items/ace2ab802adc85f86b20)# 用語理解
- Forkとcloneって何が違うん
- https://qiita.com/matsubox/items/09904e4c51e6bc267990- 追跡ブランチ?
- https://qiita.com/uasi/items/69368c17c79e99aaddbf# やったコマンド
1. Fork元のリポジトリURLに"upstream"って名前つけてあげる
```
$ git remote add upstream [http://最新の情報が入ってる他の人のリポジトリ(Fork元)]
VScode起動時にopenSSHが出る場合の対処
# 課題
* githubからsshクローンしたプロジェクトについて、VScodeを開くたびにopenSSHで鍵認証を求められるので、鬱陶しかった.
* 別PCでは発生しなかったので不思議だった.# 原因
* git.autofetchがtrueになっていたのが原因だった→false
* VScodeを起動するたびにフェッチが実行され、鍵認証されていた# 解決方法
* git.autofetchをfalseに変更(デフォルトはfalseなので、どこかでtrueに変更していた模様)
* ストレスなく作業できるようになった!
git push した時に起きるYour branch is ahead of 'origin/main' by 1 commit の原因と解決方法
## エラーの内容と推察
git commit -a -m "comment" でコミットをしようとしたところ次のメッセージが出てきてしまいました。
~~~
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
~~~読み解くと
`今のあなたのブランチは"main"です。`
`あなたのブランチは以前1つのコミットを行っています。`
`("git push"を使ってローカルコミットを公開してください)`
と書いてあります。つまり*コミットされた内容がpushされていないよ。*と言う事。
## 解決方法
書いてある通り、git push しましょう。
~~~
git push origin [ローカルブランチ名]:[リモートブランチ名]~~~
すると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0
Git・Githubまとめ
# リポジトリを作る
```shell
//sample ディレクトリを作成
mkdir sample//sampleディレクトリに移動
cd sample//今いるディレクトリをGitリポジトリとして設定
git init
```
※.gitは隠しファイルなので普段は表示されないが、<Command + Shift + . >で隠しファイルが表示できる。
# 状況確認
```
//作業ディレクトリの状態を確認
git status
//リポジトリとファイルの差分をチェック
git diff
//リポジトリとステージの差分をチェック
git diff -staged
```# コミットする
```
//指定したファイルをステージする
git add ファイル名
//全てのファイルをステージする
git add .//コミットメッセージを添えてコミットする(スナップショット)
git commit -m "コミットメッセージをここに書く"
```
※コミットすると、**誰が・いつ・何**を変更したが記録されるが、何のために変更したのかわからないため、コミットメッセージに
Next.JSアプリケーション Deploying to Vercel ②
# 参考動画
https://github.com/bradtraversy/next-crash-course
# 完成したアプリケーション
https://nextjs-crash-course-phi.vercel.app/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654025/457fffbc-8606-c645-6ec4-acdc0126f188.png)
# ソースコード
https://github.com/iwasaki-hub/nextjs-crash-course# 下記学習メモです!
>①getServerSideProps()の使い方
②_documentの使い方
③singleページの作り方
④Meta.jsの作り方
⑤Deploying to Vercel### getServerSideProps()の使い方
```javascript:index.js
impor
git cloneでPermission deniedされたときの対策
# はじめに
git cloneをしようとしたとき、以下のようなエラーが起こったことはないでしょうか。
```powershell
PS E:\workspace\Python\latin-descendant-predictor\data\colab> git clone git@github.com:halhorn/deep_dialog_tutorial.git
Cloning into 'deep_dialog_tutorial'...
Load key "C:\\Users\\paka\\.ssh\\": Is a directory
Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
```私も同じエラーに直面したので、本記事ではその解決に至った経緯を記載します。
ユーザーの環境によっては解決策が違って役に立
【GitHub】テンプレートリポジトリの作成方法
## 作成方法
通常どおりリポジトリを準備します。作成したリポジトリのページを開き、「Settings」をクリックします。
「Template repository」にチェックを入れます。![スクリーンショット 2022-09-10 15.29.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2342443/a97d11ba-fc78-1125-9bf9-eb786ce43f83.png)
これでテンプレートリポジトリが作成できました。
## 使用方法
テンプレートリポジトリを使用して新規リポジトリを作成するには以下の2つの方法があります。- テンプレートリポジトリのページから作成
- 「New repository」から作成### テンプレートリポジトリから作成
テンプレートリポジトリのページを開き、画面右上にある「Use this template」を選択します。
![スクリーンショット 2022-09-10 15.36.27.png](https://qiita-image
gitea でsshを使ってみる
# gitea ssh問題調査
## OS
テスト用なので、デスクトップ版のUbuntu22.04のミニマムインストール。
## ベースのインストール
参考にしたサイト1:
https://mebee.info/2022/06/13/post-68721/
初期は、app.iniでSSH がOnになっていない状態
#### 今のところ、ssh は動いていない.
```cmd
ken@ubuntu22:~$ systemctl status ssh.service
Unit ssh.service could not be found.
```#### 接続できないことを確認
```cmd
PS F:\temp\temp> ssh -T git@ubuntu22.local
ssh: connect to host ubuntu22.local port 22: Connection refused
``````cmd
PS F:\temp\temp> git clone git@ubuntu22.local:ken/test.git
Cloning into