# Git 操作說明 ## 下載安裝 git window https://git-scm.com/download/win 下載完成後,直接執行exe 安裝完畢後,打開command line,輸入 ``` git --version ``` 如果正常回傳給你版本資訊,代表安裝成功 ## git 工具說明 可使用指令的方式,或另外下載source tree(圖形化介面) ### 指令工具說明 在你要儲存的資料夾右鍵,顯示其他選項 ![](https://hackmd.io/_uploads/By_DHOAyT.png) 選擇open git bash here ![](https://hackmd.io/_uploads/H1l0rdR16.png) 即可開啟 git bash 介面 ![](https://hackmd.io/_uploads/SySf8uRk6.png) ### source tree工具說明 如果想要使用圖形化介面,我個人建議使用source tree工具,比較好看也比較好操作 下載 sourcetree https://www.sourcetreeapp.com/ 執行 setup.exe 1.有這個帳號在去設定,不然就skip ![](https://hackmd.io/_uploads/S18O_dRyp.png) 2.直接next即可,他其實會去下載git工具,但建議還是都要知道怎麼用 ![](https://hackmd.io/_uploads/rJxsOdAy6.png) 3.輸入你的名字跟email,但不用真實的,他只是幫你設定之後你git操作的資訊,之後還是可以變更 ![](https://hackmd.io/_uploads/H13etdRJ6.png) 4看到這個就no即可,要設定之後也可以設定 ![](https://hackmd.io/_uploads/BkTLFOAyT.png) ## git 操作說明 ### git clone git clone的功能就是,將你要的此版控的設定以及檔案都存放下來,包誇code,此版控的歷史訊息,版控的設定....等 首先你要先取得你要 clone 下來的網址 github來說,位置在這 ![](https://hackmd.io/_uploads/r1nV5OR1a.png) 複製網址 #### git bash 然後在 bash 輸入 ``` git clone https://xxx.xxx.xxxxx ``` #### sourcetree 選擇clone ![](https://hackmd.io/_uploads/Sk3c3dR1T.png) 輸入資訊 ![](https://hackmd.io/_uploads/BJhdTd0kT.png) ### git pull #### git bash 從線上repository取得程式合進本地repository裡 ![](https://hackmd.io/_uploads/ry7G4FRk6.png) git pull 中,包含 git fetch,所以可以直接執行pull即可 #### sourcetree 直接點pull按鈕 ![](https://hackmd.io/_uploads/rkcYVYRkT.png) ### git commit #### git bash 新增修改完程式或文件後,要進行 ``` git add ``` ![](https://hackmd.io/_uploads/BywCwYAyp.png) 將還沒給git列管的檔案加進本地repository 如果有大量 untracked files 則使用 ``` git add . ``` 完成之後,進行commit ``` git commit -a -m "敘述一下做了些什麼" ``` ![](https://hackmd.io/_uploads/H1mP_K0kp.png) #### sourcetree 使用sourcetree可以直接點+號 或直接stage all,完成add的功能 ![](https://hackmd.io/_uploads/BJjlYtAkp.png) 然後點擊左上角commit按鈕 ![](https://hackmd.io/_uploads/S1Z3FKAJT.png) 填寫commit敘述,然後按下右下角commit ![](https://hackmd.io/_uploads/H1al5tRy6.png) ### git push 將本地repository儲存到線上repository #### git bash ![](https://hackmd.io/_uploads/ryC__cC1T.png) #### sourcetree 點選push即可 ![](https://hackmd.io/_uploads/SklXFq01T.png)