Git, GitHub, source tree _part 2

https://qiita.com/justNOZA/items/46097a335ddc2fd607e1

これを続いて勉強しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465875/da89a3ba-fa55-a599-c98a-527c6cbb16c8.png)

ファイルを作成·保存してからgit statusを入力すると、
まだ大きくなっておらず、大きくなっている部分があることを示している。 親切にコミュニケーションの方法も教えている。
したがって、gitaddを入力するが、ここでgitaddの後に-Aを入力すると、変更事項をすべてコミットできるようにしておくことができる。 
(-Aを書かなければ、各ファイルの名前を後ろに入力（First Memo）しなければならない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465875/73ad29e1-df5e-6687-b2e1-7492f3953939.png)

すると、このようにstatusをもう一度確認したとき、stageに上がっていることが確認できる。 
ストレージに掲載されているものをキャンセルするには、 
gitreset（stageにあるすべてのもの）を入力するか、gitreset First Memo（ファイル名）を入力すればよい。 （resetは今後追加機能がある。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465875/dba999ce-67ae-c7ca-faa3-b56081d79028.png)

stageに保存するものが載っていたら、git commit-m "frist timecommit"を入力する。 
ーmはメッセージを指せば後の"first time commit"というメモを残すことになる。 普通、修正事項を書けばよい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465875/ecc7d42e-ca27-4a32-2b01-67ce6dc80bce.png)

すると、1 file changed、1 insertion(+)と表示され、変更点を知らせる。 
git statusを打ってみるとworking treeのきれいさが分かる。 
git logを打ってgitの活動履歴を見ることができるのですが、 
いつ誰が作業したのか、大きな内訳も確認できる。

今、最も基本的なgitを見てみた。 
今ではこうして作られた貯蔵所を以前の状態に戻したり、新しい枝分かれ、併合などがある。 
「gitreset」（git log内訳で移動したい位置のハッシュコードの前の6つのex。 5591e4)" --hard
>> __該当場所のステータスに変換_の間にあった変更点はすべて削除
git revert "(logで検索して一番最近のコミットのハッシュコードの前6桁)"
>> __ 該当場所の内容を戻すこと、削除されない。 もっと後ろに回したいなら、 revert後にもう一度revertすればいいんだけど
一度revertをすると、logを確認するときにrevert内訳も表示される。 すると、もう一つ後ろにあるものを入力できる。
revertは一間ずつ後ろに行く感じかな.. ?)
git branch は枝をもう一つ作ることで、メイン枝に作業することができない新しいバージョンを作ることができる。
masterに 全然 影響 与えないし、行ったり来たり 移動が可能だ 
>> git checkout (branchname)
そうするうちに満足する機能があれば masterに併合もできる. 
mergeあるいはrebase(rebaseは、時間の順序をbranchにあったものをすべて最新に移し、一つの幹で見ることができるようにする方法)

git に対する説明書はgit サイトで無料で配布している。 pdfもダウンロードできるので、ダウンロードして読んでみることをおすすめする。 

http://git-scm.com/book/ko/v2

##GitHub?

gitはローカルリポジトリを基に主に使われるが、作業内訳をローカルリポジトリではなく遠隔リポジトリに保存する時に使われる保存スペースを提供するサービスである。 
多くのプログラマー、開発者が使用しており、 
ここでさまざまなプロジェクトがどのように作られるのかソースコードを見ることができ、共有することもできる。 
公開されたものにはプロジェクトにも参加し、 
様々な機能やapiもソースコードを受け取ることができる。

githubに加入して
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465875/4b83b2dd-634f-cda4-04c6-a2087c10b23a.png)

必要なrepository名を書き、publicとprivateの中で必要なものにチェックしてから作成するをクリックする。 
publicは公然と他人が見ることができ、privateは許可された人だけが見ることができる。 
repositoryを開設するとアドレスが表示される。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465875/63988d76-925c-4be4-c870-78a9730ef3a8.png)

eclipseを使用したりsourceTreeを使用する場合は、上記アドレスを使用します。
ターミナルにする際には、 
以下のコマンドを使えばいい。 
terminalを開いてgitremoteコマンドを打ち込めば、遠隔repositoryがあるかどうかを確認できる（無ければ何も表示されない）。
そうすると、上のコマンドを入力してください。
githubのユーザ名とgitパスワードを入力すればよい。

このようにgithubに結び付けると、commitをした後にgit push origin mainと入力しなければならない。 そうした場合にgithubに保存される。

ソースをダウンロードするときはgitclone後、githubでrepositoryのアドレスをコピーして読み込めばいいですが、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465875/8fd33f9b-8a47-ef99-f160-84f0f29ed77f.png)
こういう住所を書いてくだされば、 もらうことになって
cdを利用して当該フォルダーの場所に行くと、同じように使用できるようになる。 gitadd、commit、pushを使用して遠隔リポジトリを利用可能!! 
ひとまずここまでまとめる。

##SourceTree?

ターミナルの命令語に慣れなかったり、ターミナルで遂行するのが難しい時に使うソフトウェアだと考えればいい。
ソーストリーだけでなく、羽ハブで作られた羽ハブデスクもある。