一、遠程服務器端
1、註冊coding.net
2、創建公開項目(私有項目不支持https、git的clone)
二、客戶端
1、安裝git服務
圖形化操作軟件(推薦使用:SourceTree)
2、clone遠程版本庫
git clone https://git.coding.net/dalanzi/open1.git
3、開發
4、提交代碼到本地倉庫(首先添加追蹤文件即track至暫存區域)
5、推送代碼至遠程倉庫
三、不易區分的概念:
checkout:更改當前操作的分支
push:推送到遠程的倉庫(即遠程的代碼庫)
commit:提交僅僅是隻提交到了本地的代碼庫
拉取:git clone 從遠程代碼庫獲取代碼至本地
四、相關git命令:
安裝:
linux:yum install git
mac:brew install git
創建分支:
git branch wll
分支列表:
git branch
wll
* master
【master分支前的 * 字符:它代表當前檢出的分支(也就是說,當前HEAD指針所指向的分支)。這意味着如果在這時候提交,master分支將會隨着新的工作向前移動。】
刪除分支:
git branch -d 分支名 【未被合併的分支是無法使用該命令刪除的】
git branch -D 分支名 【強制刪除未被合併的分支】
切換分支:
git checkout master
添加版本文件:
git add * 【單個文件直接文件跟文件名,多個文件用*】
提交文件:
git commit -a -m '日誌'
git commit -m “test”
git commit file -m “test”
查看文件狀態:
git status
查看遠程倉庫:
git remote -v
比較文件暫存前後的差異:
git diff test.php
刪除已被跟蹤(track)的文件:
git rm test.php -f
刪除未被跟蹤(track)的文件:
git clean -df
-d表示同時移除目錄,-f表示force,因爲在git的配置文件中, clean.requireForce=true,如果不加-f,clean將會拒絕執行
查看日誌:
git log --oneline --decorate
git log
git log -p -2 【-2 來僅顯示最近兩次提交】
說明:
Git 有三種狀態,你的文件可能處於其中之一:已提交(committed)、已修改(modified)和已暫存(staged)。已提交表示數據已經安全的保存在本地數據庫中。已修改表示修改了文件,但還沒保存到數據庫中。已暫存表示對一個已修改文件的當前版本做了標記,使之包含在下次提交的快照中。
已暫存(staged):即add的操作(第一次新建一個文件時,add操作會進行兩個操作——變成追蹤文件的同時,並將文件放入暫存區),第二次修改文件後,未再次add文件前,暫存區域存儲的是修改之前的文件內容,add之後,此時暫存區域存儲的是修改後的內容。指定單個文件提交不會報錯提示,不指定單個文件且不指定-a參數會報錯。
五、git與svn的區別
svn | git | |
分佈式 | x | √ |
本地(倉庫)操作 | x | √ |
是否走網絡 | √ | x |
日誌拉取 | x | √ |