- 1. git ブランチワークその2 – github flow
- 2. git ブランチワークその1 – git flow
- 3. 私のコード開発環境とGitのアップデート方法
- 4. Git クライアント Fork の基本
- 5. 【Git】Git cloneしようとするとfatal: remote errorになる
- 6. 絶対覚えとけ!Gitコマンド集&用語集
- 7. Windows10 + WSL2(Ubuntu-20.04) + phpStorm でGitがコケた
- 8. ブランチの削除・ブランチの復元 Git
- 9. Gitのコマンド
- 10. JIRASoftwareなどのチケット番号をgit commit時に自動でコメントに付与する方法
- 11. Mac githubのSSH設定
- 12. はじめてのGitとpush
- 13. error: the requested upstream branch ‘リモート場所名/リモートブランチ名’ does not exist
- 14. 既に存在しているリモートブランチをローカルブランチとして持ってきたい
- 15. terminalでローカルブランチを作成する
- 16. 基本的なGithub Flowを通して、共同開発に必要なGithubの基本を学ぶ
- 17. Git管理しない(除外する)ために.gitignoreに追加すべきもの
- 18. よくわからないリモートやらローカルやら追跡やらブランチについて
- 19. 【初心者向け】Gitの基本とできること【コマンド集】
- 20. Gitを使ってデータを外付けHDDで管理及び持ち運びメモ【MAC/Win10】
git ブランチワークその2 – github flow
# 前置き
前回、git 運用のモデルとして git flow を見てみました。
github のメンバーはこれに対してこのような事を述べています
– git flow は良いものだと思う
– ただ、多くの開発者やプロジェクトが要求するよりも複雑すぎやしないか。
– その複雑さ故にヘルパースクリプトなども開発されたが、コマンドラインでの使用を期待しているため、すべてのGUIに強制はできない。
– なのでCLIに不慣れなメンバーほどしっかりと複雑なフローを学ばなければならない。前回デメリットに上げた「複雑すぎる」という点についてやはり言及しています。
そして、GitHub では git-flow を使用していないことを述べ、
GitHub flow と銘打ち彼らが使用しているブランチワークについて説明しました。というわけで今回は **GitHub flow** です。
– git flow
– github flow ← ココ
– gitlab flow# github flow

プロジェクト間で作法が大きく違ったり、プロジェクト内でも良く見ると微妙に個々人で操作に癖があったり。
前者は良い。プロジェクト規模などで気分の良いブランチ戦略は異なってくるだろう。
でもあまりに我流のブランチワークだとプロジェクトを移動したときに混乱したりするかも。後者は良くない。あの人の開発ブランチに必要な開発済み機能が入っていないとか、逆に余計なものが混入しているとか、タグを打つ場所が間違っているとか変な問題を生むかもしれない。
というわけで市井に存在するブランチワークを調べてみる。
今回は **git flow**
– git flow ← ココ
– github flow
– gitlab flow***
# git flo
私のコード開発環境とGitのアップデート方法
これまで使用していたコードをいじる必要が出てきたので、現在のコード開発環境を記しておこうと思う。
あくまで一個人の一例であり、合う合わないはあると思う。
私のスタイルも今後変わる可能性がある。以下のことについて記そうと思う。
– エディタ(Atom)
– バージョン管理(Git)
– 研究ノート
– ファイル管理
– バックアップGitはHomebrewでアップデートも行ったので、その方法も記しておく。
# はじめに
前提知識は以下の通りである。
– 使用している言語はC, python
– メインで使っている計算コードはfortranだったものをCに書き換えたもの
– pythonはアウトプットデータの解析に使う
– 図はjupyter notebookで作っている
– コードを書くのはmacOSのノートパソコン
– コードのコンパイルはcentOSの計算機# エディタの話
現在は[Atom](https://atom.io/)を使っている。
昔は[Emacs](https://www.gnu.org/software/emacs/)を使っていたし、今でもcen
Git クライアント Fork の基本
# 当記事の目的
* Git クライアント Fork について、簡単に紹介する。
* Git の用語や仕組みそのものについては述べないため、別途お調べください。# Fork とは
https://git-fork.com/home
* Git クライアントの一種。
* Git 周りの一連の操作を直感的に行える便利ツール。# 基本操作
## リポジトリを開く
`File` → `Open` からリポジトリを選択して開く。## ブランチ作成
1. 作成するブランチの生やし元となるブランチに移動。
2. `New branch` を押下し、作成するブランチ名を入力。※ `checkout after create` にチェックを入れると、作成後そのままそのブランチに移動してくれる。
## ブランチ移動
`All Commit` 画面左側にあるブランチ一覧部分にて、移動したい先のローカルブランチをダブルクリック。※元々いたブランチにて、変更点が一切ない状態でのみ移動が可能。(変更点がある場合は、それをコミット or スタッシュ or 破棄することで、変更点を
【Git】Git cloneしようとするとfatal: remote errorになる
# 経緯
普通に[いつも通りclone](https://qiita.com/nmwkhl/items/fab5a72e13626b804f11)しようとしたら“`terminal:terminal
fatal: remote error:
is not a valid repository name
Visit https://support.github.com/ for help
“`
と出てきてcloneできませんでした。## 結論
今回の原因としてはcloneしてくる際の、
SSHキーと新しいリポジトリ名の間にきちんとスペースが入っていないことでした。
(しょうもなくてすみません!)どうやら全角スペースを入れていたようです。
ターミナルでの全角は半角スペースの半分のサイズになるので気が付きませんでした。“`terminal:terminal
git clone 元のSSH 新しい名前
↑ ↑
ここ と ここ に全角スペースが入ってた
“`#
絶対覚えとけ!Gitコマンド集&用語集
Git、GitHub初心者の私がまず初めに学んだ「Gitコマンド集&用語集」になります。
実際のタスクの基本的な進め方に沿って、コマンドを紹介していきますので、これさえ見ればとりあえず基本はOKではないのかなと思います。## リモートリポジトリからローカルリポジトリにクローンする
まずは、リモートリポジトリからローカルリポジトリにクローンを行います。
Githubに上がっている大元のソースをローカルリポジトリにクローンします。`git clone [ここにクローンする元のURL]`
**● リポジトリ(repository)とは?**
ソースコードや変更履歴、コメントなどを一括して保管する場所。
リポジトリには、自分のPC上に作る「ローカルリポジトリ」と、
「GitHub」などのWebサービス上に作る「リモートリポジトリ」がある。**● clone とは?**
Github上にあるソースなどを複製すること。## ブランチの作成
タスクを行うブランチを作成します。`git switch -c 新しいブランチ名`
**< 切るブランチの指定がある場合 >**
①
Windows10 + WSL2(Ubuntu-20.04) + phpStorm でGitがコケた
phpStorm いつのまにか、GitHubへの操作ができない
“`
git@github.com: Permission denied (publickey). Could not read from remote repository.
“`
と、怒られた。
ぐぬぬ。
phpStorm以外のGit系のツールやWindowsのコマンドでは動く
なんか設定おかしい?
と思って確認するとあれ?

開発した
ブランチの削除・ブランチの復元 Git
## 用途
ブランチを削除・復元したいときに使う。## 使用方法
### ブランチを削除
“`
$ git branch -d ブランチ名
“`
“`:例
$ git branch -d hoge
“`### 複数のブランチを削除
“`
$ git branch -d ブランチ名1 ブランチ名2
“`
“`:例
$ git branch -d hoge hogehoge
“`### オプション
“`
$ git branch -d ブランチ名
“`
`-d` はマージやプッシュをしていないブランチは削除できない。
“`
$ git branch -D ブランチ名
“`
`-D` は強制的に削除できる。### ブランチを復元(削除した際のハッシュ値を使用する。)
“`
$ git branch -d hoge
“`
上記で hogeブランチ を間違って削除してしまった時に以下の文が表示される。
〇〇〇〇がハッシュ値だからメモしておく。
“`
Deleted branch hoge (was 〇〇〇〇).
“`
復活させるには以下のコマンド
Gitのコマンド
・Gitのコマンド
●git init
リポジトリ(.gitディレクトリ)を作成●git add
リポジトリに圧縮ファイル、ステージにインデックスを保存
“`
git add ファイル名
git add ディレクトリ名
git add . など
“`●git commit
リポジトリにツリーとコミットを保存
“`
git commit
git commit -m メッセージ
git commit -v など
“`●git clone
既存のGitリポジトリをコピー
“`
git clone リポジトリ(GitでコピーしたURL)
“`●git status
変更されたファイルを確認●git diff
git addする前(ワークツリーとステージ間)の変更を確認
“`
git diff
git diff ファイル名
“`●git diff –staged
git addした後(ステージとリポジトリ間)の変更を確認
JIRASoftwareなどのチケット番号をgit commit時に自動でコメントに付与する方法
古来より(古来っていうほど昔なのか?)色んな人が記事にしるので今更感はありますが、20記事以上見てきて個人的に改良したシンプルだと思うものを忘備録兼ねて挙げておきます。
`.git/hooks/prepare-commit-msg`を作り以下を記述。
“`bash
COMMIT_EDITMSG=$1
MODE=$2
if [ “$MODE” = “” ] || [ “$MODE” = “message” ] ; then
TICKET_NUMBER=`git branch | grep “*” | awk ‘{print $2}’ | perl -nE ‘say $& if /[0-9a-zA-Z_-]+$/’`
if [ “$TICKET_NUMBER” != “” ]; then
# 変更を加える前に退避。
mv $COMMIT_EDITMSG $COMMIT_EDITMSG.tmp
# 退避ファイルの1行目先頭にチケット番号を付与して、本来のファイルに上書きする
sed ‘1s/^/'”[$TICKET_NUMBER]”‘ /g’ $
Mac githubのSSH設定
今回はgithubの公式ドキュメントに沿った形でSSH設定を行っていきたいと思います。
設定し終えれば、githubでSSH通信が使える様になります。# 前提
使用端末はMacで、githubの初期設定は済んでいる事。# SSH設定の手順
### 1. まずは、sshキーが存在しているかをターミナルで確認する
“`
$ ls -al ~/.ssh
“`### 2. sshキーを作成する。“”の中に自分のメールアドレスを入力する。
“`
$ ssh-keygen -t ed25519 -C “your_email@example.com”
“`
入力後、以下が出力されればSSHキーが作成されています。
> Generating public/private algorithm key pair.### 3. プロンプトに「ファイル名の置き場所とパスフレーズをどうする?」と聞かれますが、こだわりがなければ全てEnter押せばOK。
> Enter a file in which to save the key (/Users/you/.ssh/id_algorit
はじめてのGitとpush
あくまで独学でプログラミングを学んでいる限り、Gitはなかなかご縁がありません。一方で、何かとGitやGitHubの存在は目にする機会も多いので、いずれは使うことになるのだろうということもわかります。
実は、複数のパソコンでいろいろ作業をしていることもあり、勉強するための端末がその時間が取れたときでまちまちという点に悩んでいました。なので、ひとりGitで学習の進捗に合わせて写経したプログラムを共有できたらなあとは思っていたので、『ゼロから作るDeep Learning』を勉強し始めたのに合わせてGitも使ってみようと決断したわけです。
まあ、この用途からすればGoogle DriveでもOneDriveでもDropboxでもBOXでも、ファイル共有ができれば十分ではあります。が、どうせ触ってみたかったので、生意気にもGitでやろうと。生意気にも。
Git、GitHubについては、オンラインのコンテンツで勉強できないかなといろいろ見てきましたが、どうもきちんと学べる感じがしませんでした。途中まではできても、pushのところがうまくできなくてリモートリポジトリが作れなかったり
error: the requested upstream branch ‘リモート場所名/リモートブランチ名’ does not exist
~~~
error: the requested upstream branch ‘origin/kame’ does not exist
~~~
リモートブランチとしてorigin/kameは間違いなくあるのにエラー発生>
> 参考までに↓
> ~~~
> error: the requested upstream branch ‘リモートの場所名/リモートブランチ名’ does not exist
> ~~~
> 大体↓みたいに表示される
> ~~~
> error: the requested upstream branch ‘origin/リモートブランチ名’ does not exist
> ~~~
↓今回の場合だとこんな感じで表示された
~~~
er
既に存在しているリモートブランチをローカルブランチとして持ってきたい
## 1. terminalを開く
リモートブランチirukaをローカルブランチに持ってくる>
↑`git branch -a`でリモート追跡ブランチにremotes/origin/irukaが存在していることを確認
(ローカルでリモートブランチであるorigin/irukaの存在を認識できているということ)
## 2. リモートブランチorigin/irukaをローカルブランチirukaとして作成する
コマンドは
~~~
git checkout -b ローカルで作成するブランチ名 リモートのブランチ名
~~~今回だと
– iruka (ローカルブランチ:まだない)
– origin/iruka (リモートブランチ:既に存在)
なので~~~
git
terminalでローカルブランチを作成する
## 1.terminalを開く
## 2.ローカルブランチとしてkituneを作成する
>~~~
>git branch kitune
>~~~
> このやり方だとただ作成されるだけ
> ~~~
> git branch -a
> ~~~
> で見ればわかるがmainブランチから移動していない
## 3. ローカルブランチとしてookamiを作成
基本的なGithub Flowを通して、共同開発に必要なGithubの基本を学ぶ
# 目的
この記事では、これからGithubを使ってみようという方、共同開発を行う方に向けて、開発に必要な一連の手続きをコマンド代表的なコマンドと共に説明していきます。
Githubからローカルリポジトリへの同期手続きから、実際に開発する際に必要となるGithubフローを取り上げ、理解を深めていきます。
# Githubとは
Git管理したファイルを共有・バージョン管理をするインターネットサービスです。
今回の記事は、Gitの基本的な知識があることを前提に記載していますので、そもそものGitについて知りたい方は、前回掲載した[【初心者向け】Gitの基本とできること【コマンド集】](https://qiita.com/raptony110/items/1d50db2ac31800681cb9)という記事をご一読の上戻ってくるとスムーズかと思います。# アカウント作成
Githubを利用するには、まずアカウント登録を行う必要があります。
[Githubの公式ページ](https://github.com/)に移動して、右上のSignUpからアカウント登録を行いましょう。
メールアドレス
Git管理しない(除外する)ために.gitignoreに追加すべきもの
作成するRailsアプリをGit管理する際、.gitignoreに追加すべきGit管理しないものについて悩みました。
そこで優秀なエンジニアの方に相談し、Railsに限らず大まかに不要なものを教えていただいたので、メモがてら残そうと思います。
※ほぼ相談した際に頂いたテキストのまま
## 1. 認証系ファイル(絶対にGit管理してはいけない)
AWSやGitHubを使ってサイトを作成する場合、それらのサービスの認証キーやパスワードが書いてあるファイルを絶対にGitで管理してはいけない。コードの中で認証する場合はコードファイルに認証キーなどを含めてはならず、必ず環境変数を経由して取得するように記述する必要がある。
Privateなリポジトリであっても万が一の場合があるため、Gitの履歴に含まれないように **.gitignore**で除外する。

– [2リモート追跡ブランチ・追跡ブランチ・リモートブランチの違い](https://chaingng.github.io/post/git_branch/)
– [3Git のブランチ機能 – リモートブランチ](https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81)## はじめに
今回はなんだか分かりにくいブランチの名前と種類についてメモ(浅学なので説明とは言わない)します
あと、参考にしたサイトの1番目は先に見ることをお勧めします
改修と画像も今後載せていきます
## ブランチは主に3つある
– リモート
【初心者向け】Gitの基本とできること【コマンド集】
# これを書く背景
エンジニアの方で、Gitを知らない方はいないだろうと思うくらい、常識的なソフトウェアです。
私もずっとGitという単語は耳にしていましたし、概念的に知っているという状態でした。
先日Gitについて具体的に学ぶ機会がありましたので、Gitについてまとめておきたいと思います。Gitとは何か、何ができるのか、どう扱うのかを書いていきます。
初めてGitに触れる方も、私と同じで、具体的には初めて知る方にも有益な内容になることを願っています。
また、エンジニア以外の方でも知っておくととても強力なツールとなることは間違いないです。# そもそもGitとは
Gitは、ファイルバージョン管理ソフトです。バージョン管理ソフトはsvnなど他にも存在しますが、分散型である点でGitは優秀です。これを実現するのに、サーバ等は必要なく、Gitをインストールするのみです。## Gitでできること
– 誰がいつ、どこを、どのように変更したのかを調べることができる
– 変更前の状態に戻すことができる
– 第三者と同じファイル群を同時に修正し、修正結果を一つに統合することができる
– G
Gitを使ってデータを外付けHDDで管理及び持ち運びメモ【MAC/Win10】
# はじめに
Git初歩の時は「Git Hub」や「souce tree」+「Bitbucket」のプライベートリポジトリを使い在宅と出社でPCを切り替えて基本ワンオペで作業をしてきましたが、Gitに少しずつ慣れてきたので、改めて管理方法を考えた結果外付けHDD(ポータブルHDD)を使って持ち運び管理することに決めました。【外付けHDDを選んだ理由】
デバイスは切り替わるが基本ワンオペ作業がメイン
ssh接続ができ、外部接続可能なサーバー(レンタルサーバー)を会社が導入してない
windows10及びmacどちらでも利用可能である
ネット環境なくてもGit使える# 概要
外付けHDDを設定
外付けHDDの任意の場所にベアリポジトリ(リモートリポジトリ)生成
ローカル環境のプロジェクトディレクトリにノンベアリポジトリ(リポジトリ)を生成
ローカル環境のプロジェクトディレクトリからリモートリポジトリ先にpush及びpullする# 外付けHDDの設定
今回外付けHDDとしてバッファロー1TBのポータブルHDDを利用しました。
macとwindows10を利用しているので、下記に