Help us understand the problem. What is going on with this article?

GitHub+GitFlowでプロジェクト始めるときにやったこと覚書

More than 1 year has passed since last update.

前提

  • OSはWindows7
  • GitHub上に空プロジェクトは作成済
  • 今更感ありありの初歩的な話のみ
  • プロジェクトがGitFlowなのでその辺の準備も含む
  • あまり真面目に書いていない

やった事

1. 作業フォルダの作成

適当に作業フォルダを作成
C:\work\projectX\

2. 作業環境の初期化

ひとまず、GitHubの指示にしたがってみる。
Git Bashとかで、作業ディレクトリに移動してから下記コマンド実行。

echo "# プロジェクトX" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/{your-account}/{repository-name}.git
git push -u origin master

順番に意味をメモ

echo "# プロジェクトX" >> README.md

readmeファイルを作っているだけ。Git関係ないので割愛。

git init

新しいGitリポジトリを作成する。.gitディレクトリが実行した場所に作成される。
これでただのディレクトリがGitリポジトリに。なんということでしょう。

ちなみに、うっかり再実行しても上書きされたりはしないらしい。

git add README.md

作成したREADME.mdファイルをステージング。
リポジトリにコミットする準備できてるよマーキングですね。
舞台裏で出番をまつ女優みたいな感じ。もちろん男優でもいい。

git commit -m "first commit"

ステージングしてあるファイル(今回はREADME.mdのみ)を作成したローカルリポジトリにコミット。
この時コミットコメントとしてfirst commitを指定。
ついに初舞台に上ったわけですね。

git remote add origin https://github.com/{your-account}/{repository-name}.git

リモートリポジトリの追加。
originという名前に、指定したgithubリポジトリをリンク。
以降、originといえば、指定したgithubのリポジトリを指すようになる。

git push -u origin master

ローカルリポジトリのcommitをoriginに反映させる。
-uオプションを指定することでリモートの追跡が設定される模様。
つまり、今いるブランチのママンは origin masterだよということをメモしたということ。パパでもいい。
うーん、このコマンドはもうちょっと挙動を学んだ方がよさそうだ。

3. git-flow用の環境にする

CUIツールのgit-flowをインストールしてサクッと準備

参考)https://qiita.com/tanishi/items/09e72c65c0a0c9e1cc10
こちらの記事を参考に、CUIのgit-flowをインストールしてみた。

2018/02/05 追記 :
 開発フェーズ開始後はSourceTreeを利用しています。便利!

git flow init -d

ってやるとローカルリポジトリにgit-flow用のブランチがピャっとできる。ピャっと。

git push --all

取り合えずリモートに反映してみて恐る恐るGitHubサイトを確認。
よしよし、developブランチが追加されておる。

2018/02/05 追記 :
 上記手順で作成したdevelopブランチがリモートを追跡していなかった(git push --allだったから)ので、追跡するように下記コマンドを実行しています。これで、ローカルのdevelopブランチがリモートのdevelopブランチをストーキングするようになりました。

git branch --set-upstream-to=origin/develop develop

デフォルトブランチの変更

ついでに、GitHubサイト上でデフォルトブランチをmasterからdevelopにしておく。
GitFlowなのにプルリク出そうとしたときに毎回masterブランチが選択されているのはつらいですよね…。
新しいメンバーが普通の手順でcloneしたらmasterになるのもつらいですね…。

  1. タブメニューの[Settings]をクリック。
  2. サイドメニューの[Branches]をクリック。
  3. Default branchをmasterからdevelopに変更。
  4. [Update]ボタンをクリック。
  5. プルリクやクローンの対象が変わったりするけどいいのって聞かれる。
  6. [理解の上、デフォルトブランチを更新]ボタンをクリック。

これで、よだれ垂らしながら作業してても大丈夫。

終わり

余談

初期化作業を、うっかりWindowsのコマンドプロンプトでやったらechoで作ったREADMEが文字化けして恥ずかしいコミットができてしまった。
こんな恥ずかしい履歴は後世に残してはいけないので、しれっと隠すべくrebaseしたりpush -fしたり普段あんまりやらないことをいきなりやる羽目になったわけですが、その再2回目のコミットを初回のコミットにリベースする場合は git rebase -i --rootみたいな感じで--rootを付けないと出来ないということをお勉強できた!ちょっとハマったので3時間後の自分のために残しておく。
怪我の功名、結果オウライ。

念のため git push の -fオプション は他の誰とも作業していない段階でしかやってはならないことも3時間後のj(略

yukina-ge
基本Javaの案件ばかりやってます。 今はお仕事でAWSをつかった動画配信コンテンツを作っています。
genuine
確かな技術力と誠実な人間力、ユーザー目線の業務スキルで本当に必要とされるシステムを構築する会社です。
https://genuine-pt.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした