gitコマンドの使用手順についてのメモ

<h2 id="Rubyの開発者を目指し基礎を学んでいる:relaxed:">Rubyの開発者を目指し基礎を学んでいる:relaxed:初心者の私が知識をまとめてみました。</h2>

<h2>
<span id="code---コードの挿入" class="fragment"></span><i class="fa fa-link"></i>What:thinking:</a>
</h2>
<p>最初にリモートリポジトリに上げる方法とgitコマンドを使用した作業をまとめました。</p>

<h2>
<span id="code---コードの挿入" class="fragment"></span><i class="fa fa-link"></i>Why:thinking:</a>
</h2>

<p>githubを最近使い始めてしばらく経ちましたが、"GithubDesktop"なるものを使用しているうちに、「コマンドでやり方覚えた方がbetterでは？」と思ったのでまとめました。</p>




<h1><span id="code---コードの挿入" class="fragment"></span><i class="fa fa-link"></i> gitコマンドを使用したソースコードのバージョン管理</a>
</h1>

<h2>最初の作業と空のプルリクエスト</h2>

<ol type="i">
<li>ブラウザでリモートのリポジトリを作成、ssh-keyを生成</li>
<p>リポジトリの作り方：<a href="http://www.atmarkit.co.jp/ait/articles/1701/24/news141.html">"GitHubのGUIでリモートリポジトリを作成する"を参照</p>
<p>ssh-keyの作成方法：<a href="https://go-journey.club/archives/7344">"【Git】git clone コマンドで「fatal: Could not read from remote repository.」が表示された場合の対処方法"(Git 用の鍵を作成する〜)</a></p>

<li>ローカルにリポジトリの作成
<p>コマンドはプッシュ対象（リモートでバージョン管理をしたいディレクトリ）で行う。</p>
<p><strong>ローカル(現在のディレクトリ)にリポジトリを作成する。</strong><br> 
<code>git init</code></p> 

<p>ローカル(ディレクトリを指定した場合)にリポジトリを作成する。</p>
<code>git init workspase/chatapp/</code></p> 
</li><br>

<li>新規ブランチを作成、作成したブランチに移動
<p><strong>現在のブランチから派生ブランチを作成し移動する</strong><br>
<code>git checkout -b (新規ブランチ名)</code>
</p><br>
<p><strong>ブランチの確認をする</strong><br>
<code>git branch</code>
</p>
<p>現在のブランチは "*" (アスタリスク)がつく</p>
<p><strong>ブランチの削除をする</strong><br>
<code>git branch -D (削除するブランチ名)</code>
</p></li><br>

<li>ローカルのリポジトリをリモートのリポジトリに登録する</li>
<code>
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
</code><br>
<p>このままpushしてもこんなエラーが出るのでremoteコマンドでローカルのリポジトリをリモートに登録しましょう。</p>
<code>git remote add origin https://github.com/(自分のgithubユーザ名)/(作成したアプリケーション名).git</code>
<br><br>

<li>空のプルリクエストを行い、リモートにプッシュする。</li>
<p>作業タスクを始めるためプルリクエストを送る。プルリクエストはcommitが必要 </p>
<p><strong>空のコミット
</strong><br> 
<code>git commit --allow-empty -m "first commit"</code></p>

<p><strong>空のcommitの確認
</strong><br> 
<code>git log</code></p>


<p><strong>プッシュ
</strong><br> 
<code>git push origin (ブランチ名)</code><br>
<p>commit漏れのエラーが出た場合</p> 
<code>git commit -m "message"</code>
</p>
</ol>

<h2>gitコマンドを使用した作業</h2>
<ol type="i">


<li>commitの対象を決める</li>

<p><strong>commitをするにあたり、その対象を決める。(git commit -a で省略可)<br>ファイル名を選択する場合</strong><br> 
<code>git add hoge.txt</code></p>

<p><strong>修正したファイル全てをcommitする場合</strong><br> 
<code>git add .</code></p>

<p>確認する場合<br> 
<code>git status</code></p>

<p>取り消す場合<br> 
<code>git reset hoge.txt</code><br>
<p>または</p>
<code>git reset .</code></p><br><br>


<li>選択したファイルをcommitする。

<p><strong>現在のブランチから派生ブランチを作成する</strong><br> 
<code>git commit -m "[修正内容]コミットメッセージ "</code></p>
<p>メッセージをvim(またはviエディタの画面で記述する場合)
<p><code>git commit</code></p>
<p>参考:https://qiita.com/itosho/items/9565c6ad2ffc24c09364</p><br>

<li>commitをリモートのブランチにプッシュする。</li>

<p><strong>commitをしたファイルをリモートのブランチに変更を加える。<br></strong><br> 
<code>git push origin ブランチ名</code>
</p>

<p>pushを確認<br></strong><br> 
<code>git log</code>
</p>

<li>ブラウザでプッシュされたことを確認</li>
</ol>
<h2>リモートブランチからローカルブランチに対して行う作業</h2>
<ol>
<li>ブラウザにプッシュされたブランチの変更履歴をローカルのブランチに適用</li>
<p><strong>ローカルのブランチにpull<br></strong>
<code>git pull origin ブランチ名</code>
</p>

<li>gitのリポジトリをurlから取得する。</li>
<p><strong>gitのリポジトリのurlをコピーしてcloneする。<br></strong>
<code>git clone (clone対象のurl)</p>

<h4>参考資料</h4>

[全体の流れの参考になった記事][link-1]

[link-1]:https://techacademy.jp/magazine/6235