Git使用方法.md
阿新 • • 發佈:2019-01-02
git基本操作
git配置
初次執行git時對git的配置
git config --global user.name "<your github name>" git config --global user.email <your github email>
clone遠端倉庫的專案到本地
git clone https://github.com/username/example.github.io.git
基本命令
git status // 檢視當前專案下的狀態
git remote -v //檢視當前專案遠端連線的是哪個倉庫地址
git push -u origin master // 將本地的專案提交到遠端倉庫中
上傳本地檔案到遠端倉庫
git add .
git commit -c "commit information"
git push
同步遠端倉庫到本地
git fetch origin master
git log -p master..origin/master
git merge origin/master
上述命令首先從遠端的origin的master主分支下載最新的版本到origin/master分支上然後比較本地的master分支和origin/master分支的差別最後進行合併。
如果想強制合併本地專案可使用以下命令
git fetch --all
git reset --hard origin/master
git fetch
如果專案中刪除了一些檔案,如何提交
git status
git add .
git rm your/file/path
git rm folder/path -r // 刪除該目錄下的所有檔案(包括目錄)
關聯本地工程到github倉庫
git init //地倉庫初始化,執行完後會在工程目錄下生成一個.git的隱藏目錄
git add . //新增所有檔案到本地索引,命令用法:git add <file>
git commit -m "My first commit operation" //提交修改到本地倉庫,-m選項新增提交註釋
git remote add origin [email protected].com:yihao31/yihao31.github.io.git //新增遠端倉庫地址,儲存在origin變數中
git push origin master //按照前一條命令中origin給定的github地址推送到github倉庫的master分支
使用github 管理分支
本地的分支管理
git branch dev // 建立一個名為dev的分支
git checkout dev //切換分支
git branch //檢視當前已有的分支資訊,並且在當前所在分支高亮
為什麼要建立分支?
比如某天想搞些新事情了,可以建立一個名為debug的分支在上面除錯修改,這樣如果失敗了也不會影響到origin branch,而除錯成功了也可以直接合並:
+ 建立一個新分支:
git checkout -b debug
+ 如果最後沒有除錯成功,可以選擇留著debug分支,也許以後有靈感了再來弄(程式碼註釋一定要做好),但是如果就不想弄了也可以選擇刪除分支:
```
git brach -d debug
```
+ 如果演算法除錯成功了,想合併到master中:
```
git checkout master // 切換到master branch
git merge debug // 合併debug 到master
```
注意: 合併發生衝突是暢遊的事情,因此一旦出現類似下面的提示,就得自己手動解決按衝突了
CONFLICT (content): Merge conflict in ...
Automatic merge failed; fix conflicts and then commit the result.
git會使用下面的格式提醒使用者哪裡有衝突:
<<<<<<<HEAD
master原有的內容
=======
debug分支中衝突的內容
>>>>>>>debug
如果比較感興趣想看看git是怎麼記錄合併的,可以使用底下的命令:
git log --graph --pretty=oneline --abbrev-commit
Appendix
Local:
git clone [email protected]:xiahouzuoxin/mp3-encode.git # 在本地克隆一個github上倉庫
git status # 獲得當前專案的一個狀況
git commit -a # 將修改檔案(不包括新建立的檔案)新增到索引,並提交到倉庫
git add [file] # 新增檔案到本地索引
git branch # 獲得當前倉庫中所有分支列表
git branch zx-branch # 新建本地一個名為zx-branch的分支,主分支名為master
git branch -D branch_name # 刪除名稱為branch-name的本地分支
git checkout master # 切回主分支,切換到zx-branch只需要將master改成zx-branch
git log # 檢視提交日誌,有許多附加引數
git log -p # 顯示補丁
git log --stat # 日誌統計:那些檔案修改了,修改了多少行內容
git log --graph # 使日誌看上去更漂亮
git diff master..zx-branch # 比較兩個分支之間差異
git remote rm origin # 刪除origin變數地址
git branch [name] # 建立本地分支,注意新分支建立後不會自動切換為當前分支
git checkout [name] # 切換到name分支
git checkout -b [name] # 建立name分支並切換到name分支
git merge [name] # 將name分支與當前分支合併,name可以是遠端分支,如origin/master
Remote:
git push origin [name] # 建立遠端name分支
git push origin:zx-branch # 刪除遠端origin倉庫地址的zx-branch分支
git branch -r # 獲得當前倉庫中所有分支列表,即檢視遠端分支