git 可理解為有三個(gè)區(qū):本地 暫存區(qū) 遠(yuǎn)程倉庫
- git add . 將代碼提交至?xí)捍鎱^(qū)详羡,git則開始追蹤文件變化
- git commit -m xxx 將暫存區(qū)代碼提交至遠(yuǎn)程倉庫
- git status 查看當(dāng)前項(xiàng)目哪些有改動(dòng)的
- git log 查看所有人提交的日志
- git log --author='git賬號(hào)名' 查看某個(gè)人的提交日志
- git config --global user.name 'xxx' 配置用戶名
- git config --global user.email 'xxx' 配置郵箱
- git config --global --list 查看配置的用戶名和郵箱
- modified 內(nèi)容紅色是未添加到暫存區(qū)撕贞,add . 到暫存區(qū)后會(huì)變成綠色
- git rm index.html 刪除文件
- git mv index.html main.html 給文件重命名
- git mv main.html src 移動(dòng)文件至指定目錄
- git mv main.html src/index.html 移動(dòng)文件到指定文件夾并重命名
- git log --pretty=oneline src/index.html 查看文件前后變化
- git show 2bac7f619b1b00348 查看文件具體提交日志
- git log -p src/main.html 查看文件具體變化內(nèi)容,包括代碼
- git diff 查看不同
- git checkout -- src/main.html 代碼未add提交到暫存區(qū)前代碼回滾
- 代碼add提交到暫存區(qū)后代碼回滾:
git reset HEAD src/main.html(撤銷git代碼追蹤)
git checkout -- src/main.html ok - git reset --hard HEAD^ 將項(xiàng)目回退上一個(gè)版本
- git reset --hard 6bba11a 根據(jù)ID 將項(xiàng)目回退到指定版本
- git checkout 3659d43921fd1e6 -- src/index.html git 將某個(gè)文件回退到指定版本
- 推送到遠(yuǎn)程倉庫
git add
git commit -m xxx
git log
git push origin master (推送到master分支) - git tag v1.0 創(chuàng)建標(biāo)簽,默認(rèn)添加到最新的一次提交上
- git tag v2.0 11f789d94d3f 為指定版本創(chuàng)建標(biāo)簽
- git tag -d v2.0 刪除標(biāo)簽
- git push origin v1.0 將標(biāo)簽推送到遠(yuǎn)程倉庫 // git push origin :refs/tags/v1.1.0 刪除遠(yuǎn)程分支
- git branch 查看所有分支
- 創(chuàng)建/切換/刪除分支
git branch dev(創(chuàng)建dev分支)
git checkout dev(切換到dev分支)
git branch -d dev(刪除分支,不能刪除當(dāng)前分支)
git push origin --delete branch_name - git checkout -b dev 創(chuàng)建dev分支并且跳轉(zhuǎn)到dev(相當(dāng)于復(fù)制一份主干的代碼給分支)
- git branch -d dev弱刪除焊切,有提交過的不能刪除(不能刪除當(dāng)前分支);
git branch -D dev強(qiáng)刪除,有提交過的也能刪除(不能刪除當(dāng)前分支) - 分支合并代碼到主干
git checkout master 先切換到主干
git merge dev 將dev分支合并到主干 - 合并分支有沖突時(shí)
git merge --abort 忽略其他分支的沖突滨达,使用當(dāng)前分支的代碼 - git fetch 拉取所有的遠(yuǎn)程倉庫
- git branch -av 查看所有本地分支及遠(yuǎn)程分支
- git push origin --delete test 刪除遠(yuǎn)程分支
- git merge origin/dev 合并遠(yuǎn)程倉庫分支代碼
- git checkout -b test remotes/origin/test 將遠(yuǎn)程分支與本地分支關(guān)聯(lián)
- 拉取遠(yuǎn)程分支到本地
git checkout -b 本地分支名 origin/遠(yuǎn)程分支名 - git push --set-upstream origin branch_name 如果本地新建了一個(gè)分支 branch_name,但是在遠(yuǎn)程沒有俯艰,這時(shí)候 push 和 pull 指令就無法確定該跟蹤誰捡遍,一般來說我們都會(huì)使其跟蹤遠(yuǎn)程同名分支,所以可以利用 git push --set-upstream origin branch_name 竹握,這樣就可以自動(dòng)在遠(yuǎn)程創(chuàng)建一個(gè) branch_name 分支画株,然后本地分支會(huì) track 該分支。后面再對(duì)該分支使用 push 和 pull 就自動(dòng)同步啦辐。