Web Analytics

こつこつエンジニア

現役アプリ開発者によるIT系特化ブログ

【Sourcetree】CommitとPushをしてみる

f:id:madai21:20211014135545j:plain

はじめに

前回はGitのリモートリポジトリを作成し、SourcetreeでCloneするところまでしました。
今回はSourcetreeでFirst Commit(コミットするファイルはなんでもいいんですが、今回は無視リストファイルをコミットします)を行い、Sourcetree上でローカルリポジトリとリモートリポジトリ両方でmasterブランチが表示されるところまでしようと思います。

 

※Sourcetreeを内蔵Gitでインストールした場合を想定して記事を記載しています。
Sourcetreeのバージョンは3.4.4になります。
7/5時点の最新3.4.5ではない点に注意!
3.4.5は不具合でCloneできないので、3.4.4での確認となります。

madai21.hatenablog.com

手順

1. Sourctreeの設定ボタンを押します。

f:id:madai21:20210707214441p:plain

2. 詳細タブを選択して、リポジトリ固有の無視リストで編集ボタンを押します。

中身が空の無視リストファイルが開くかと思いますが、そのまま何もせずに閉じます。
そのあと、OKボタンを押して設定画面を閉じます。


※もちろん無視リストファイルを編集して頂いても構いません^^

f:id:madai21:20210707214513p:plain

f:id:madai21:20210707214534p:plain

3. メイン画面に戻ってくると、作業ツリーのファイルに.gitignoreが表示されていると思います。
これが無視リストファイルと呼ばれるファイルです。
全てインデックスに追加ボタンを押します。


※無視リストファイルとはSourcetree上の作業ツリーのファイルで表示させたくない(間違えてコミットさせたくない)ファイルについて記述するファイルとなります。
例えば自動生成されるバイナリファイルとかをここに書きます^^

f:id:madai21:20210707214755p:plain

4. .gitignoreが作業ツリーのファイルからIndexにステージしたファイルに移動したと思います。
Gitのステージングですね^^

first commitと入力し、コミットボタンを押します。

f:id:madai21:20210707214926p:plain

5. コミットが完了し、ローカルリポジトリ上にmasterブランチが表示されました。
まだローカルのコミットだけなのでリモートリポジトリにもコミットを反映するべくプッシュボタンを押します。

f:id:madai21:20210707215008p:plain

6. ローカルブランチがmasterの個所をチェックして、リモートブランチにmasterを選択しておきます。
そしてプッシュボタンを押します。

f:id:madai21:20210707215033p:plain

7. プッシュが完了し、リモートリポジトリにもmasterブランチが表示されました。
ついでにHEADも作っちゃいましょう^^
Sourcetreeのターミナルでコマンド入力するべく、ターミナルボタンを押します。


※HEADとは今のブランチの最新のコミットのことです。
HEADはなくても動作はしますが、無いとGitコマンドで最新のコミットに対して操作するときに不便です。
コミットすると「af76ccf~」のような固有のハッシュ値が付与され、コミットの特定はこのハッシュ値を使って判断されます。
HEADがないとGitコマンドですべてハッシュ値を使用しなければいけないので面倒です^^;
HEADがあるとGitコマンドにハッシュ値の代わりにHEADを指定することで最新のコミットであると認識してもらえます。
なので一々ハッシュ値を調べなくても済むというわけです。

f:id:madai21:20210707215119p:plain

8. ターミナル画面が起動していると思います。

f:id:madai21:20210707215153p:plain

以下のコマンドを入力しましょう。

git remote set-head origin master

9. Sourcetreeのメイン画面に戻るとorigin/HEADと表示されていると思います。
これでHEADでの指定でGitコマンドを入力できるようになりました。

f:id:madai21:20210707215243p:plain

おわりに

これでファイル管理する準備はできたので日々差分をコミットして履歴をローカルPCだけでも残していけるようになりました。
もし、サーバー管理するようになった場合でもリモートリポジトリをローカルPCからサーバーに移動すればいいだけとなります。