設定開發人員資訊
git config --global user.name "chen"
git config --global user.email "xxxxx@qq.com"
檢視開發人員資訊及配置
git config --global user.name 檢視名字
git config --global user.email 檢視email
git config -- list 檢視所有配置資訊
檢視當前狀態
git status
當前工作區程式碼新增到暫存區
git add fileName(文字的名字)
例: gia add drag.html
或者新增所有已修改的檔案
git add .
從暫存區提交程式碼到版本區
git commit (這裡會彈出新增註釋的vim編輯)
或者直接後面寫註釋
git commit -m "change 2017-7-6"
從暫存區撤回新增的檔案
git reset HEAD drag.html 撤回單個檔案
git reset HEAD . 撤回所有
提交的快取區的同時提交到版本區
git commit -a -m "change 2017-7-6-3"
檢視日誌
git log
git 對比命令
git diff 工作區和暫存區的程式碼對比
git diff --cached 暫存區和版本區的對比
git diff --staged 效果同上
git diff master 工作區和版本區的程式碼對比
工作區回到之前的狀態
git checkout -- drag.js(fileName)
刪除檔案
git rm fileName 刪除暫存區檔案(前提是必須先刪除工作區檔案)
git rm -f fileName 同時刪除暫存區和工作區的檔案
git rm --cached fileName 直接刪除快取區的檔案(本地不用刪除)
恢復檔案
版本id可通過日誌檢視
git checkout 版本Id fileName 恢復某個檔案
git reset --hard 版本Id 整個專案恢復某個版本
git reser --hard HEAD^ 回到上一個版本
git reset --hard HEAD~2 寫2代表回到上兩個版本 ,2可以為n
git reflog 回到現在的某個狀態(要配合git reset --hard logId(reflog返回的Id))
提交到github
git remote 檢視遠端倉庫的名字
git remote -v 檢視遠端倉庫的地址
git push 倉庫名字 提交的分支名字 提交到gitHub
例: git push origin master
更新程式碼及衝突解決
git fetch 更新(不與原生程式碼合併) --------推薦
這裡會返回一個衝突的id號 上面有一個遠端的分支
配合以下使用:
git diff 本地分支 遠端分支 檢視衝突
例子: git diff master origin/master
git merge orgin/master 合併程式碼
HEAD 是原生程式碼
orgin/master (遠端倉庫的名字,不一定是這個) 是遠端倉庫的
git pull 更新(自動與原生程式碼合併)
分支
git branch 檢視當前分支
git branch test 建立一個名字為test的分支
git checkout name 切換到test這個分支上
git checkout -b test2 建立test2這個分支並切換到test2這個分支上
git merge (test)分支名稱 合併名稱為test的分支
git branch --merged 檢視當前分支合併了哪些分支
git branch --no-merged 檢視當前分支 沒有合併的分支
git branch -d test 刪除test這個分支(分支上程式碼沒合併不能刪除)
git branch -D test 強制刪除test這個分支(沒合併也能刪)
! 代表衝突
HEAD 是代表我的
分支名稱 是代表分支上的
+ 代表新增
- 代表刪除
~ 代表修改
打標籤
git tag 檢視標籤
git tag v1.0 打上版本標籤
git push origin v1.0 把標籤同步到github