git遠程服務器git
git remote add origin <url>緩存
取消遠程服務器 關聯服務器
git remote rm 遠程倉庫名 fetch
更新遠程服務器上的分支列表url
git remote update 遠程倉庫名 --prune spa
查看已關聯的遠程服務器指針
git remote show 日誌
顯示遠程倉庫與對應服務器地址server
git remote -v 索引
拉取遠程倉庫中分支到本地
git fetch 遠程倉庫名 遠程分支名 本地分支名
強制 推送push 本地版本 到 遠程服務器
git push --force origin master 將本地master分支強制推送到遠程倉庫origin
將本地的git 倉庫 ,覆蓋遠程倉庫
1.關聯遠程倉庫 git remote add origin <url>
2.推送本地master分支到遠程倉庫,做爲初始結點 git push --force --set-upstream origin master
將本地分支與遠程分支創建關聯
1.切換到須要關聯的本地分支 git checkout local
2.與遠程分支創建關聯 git branch -u origin/serverfix
創建關聯後
1 . git push ,git pull 時都不須要加上遠程分支名了,只需先切換到 要進行推送或拉取的 本地分支便可
2. 能夠刪除遠程服務器上 這個已經關聯的 遠程分支 git push origin --delete 本地關聯分支名
3. 查看本地與遠程分支 的關聯關係 git branch -vv
版本回退
一 - HEAD指針,指向最後一次commit的狀態 ; 二 - Index 預計的下一次提交的快照 (暫存區的索引);三 - Working directory 沙盒 (未提交到暫存區和歷史記錄的本地實際代碼)
git reset 版本號 [filename],默認爲 --mixed模式 ,將 HEAD指針 和 緩存區的代碼 設置爲版本號的狀態
git reset --soft 版本號 ,僅將HEAD指針 指向版本號
git reset --hard 版本號 ,將HEAD指針 ,緩存區代碼 和 工做區代碼 全都設置爲 版本號的狀態
git reset --hard eb43bf file.txt 會將暫存區Index的文件和工做區的文件 狀態變成 eb43bf版本的狀態
合併中間的過多git log
1.將僅 將 git HEAD指針移到倒數第二個須要保存的版本號上 git reset --soft 版本號
2. --soft使工做區和緩存區的代碼並未改變,直接提交, git commit ,
這時若是原來git log -10 的版本號有 1,2,3,4,5,6,7,8,9,10,而第一步中的版本號爲3,如今git log -3 的顯示則爲 1,2,3,11 ,從而減小了中間的git log .
將本次提交的內容,覆蓋上次提交
git commit --amend
若是上次提交過 git commit -m "commit last" ,而後又進行了修改,git add forgotten-file ,這時 使用 git commit --amend -m "commit second"則使用git log 查看,只有第二次的提交記錄。
撤銷修改
工做區有修改,還沒提交到緩存區,撤銷工做區的修改 git checkout filename 撤銷指定文件的還沒add 的修改 / git checkout -f 撤消全部還沒add 的修改
取消最後一次add或commit以後的修改,回到剛剛add或commit後的狀態 git checkout -- filename
撤銷已經add 還沒commit 的修改 git reset HEAD filename ,將緩存區的文件變爲上次commit時的狀態
取消對文件跟蹤
刪除暫存區中 mysite/__pycache__下的全部文件(保留本地文件夾)
- git rm -r --cached mysite/__pycache__
僅取消對某個文件的追蹤(保留本地文件)
git rm --cached fie.txt
撤銷剛剛的推送到遠程分支
1.將本地的分支的HEAD 回退 到 須要的版本號
2.將這個本地的分支強制推送到遠程分支 ,遠程分支的狀態就變爲和本地分支一致。 git push --force
提交
git commit -am "備註內容「 至關於 git add ,git commit -m "備註內容」兩步 。 不過對於新增長的文件 ,-am 不會添加進去,須要單獨 git add newfile
切換分支
在當前分支上作出修改後並沒add,這時新建分支並切換過去,而後add,commit,修改就會移到新建分支上了。原分支上再也不有修改的記錄
git checkout branchname
合併分支
合併分支前,須要切換到版本號較小的分支上,而後將有更改的分支上的內容合併到當前分支
git merge brach2
刪除分支
git branch -d branch3 強制刪除 git branch -D branch3
分支管理
- 團隊協做中,通常會有一個專門用於彙總各個開發者的遠程倉庫(公開庫)管理者
- 個個開發者 ,從遠程公共庫拉取基準代碼 ,而後在本地建立分支 ,進行開發
- 開發完成後,推送到遠程分支
- 遠程倉庫管理者 ,收到開發者的要求拉取合併遠程分支的請求後,拉取,併合並分支到遠程公開庫
查看日誌
git log --oneline --decorate --graph --all 以圖形簡略的形式顯示全部日誌
-n 查看最近的n條日誌
--oneline 已一行的空間顯示一條日誌
- git log -p -2 查看最近兩次提交之間的差別
- --graph 顯示ASCII圖形表示的分支合併歷史
- --stat 顯示每次更新的文件修改統計信息
git diff <filename>
- 查看文件filename 改動前和改動後的區別
- diff 即different
- git diff 版本號1 版本號2 --stat 查看兩個版本中的有差別的文件
- git diff 版本號1 版本號2 文件路徑 查看兩個版本號間的指定文件的具體差別
- git diff 分支1 分支2 --stat 查看兩個分支間的有差別的文件
- git diff 版本號1 版本號2 文件路徑 查看兩個分支間的指定文件的具體差別
- git diff 文件名 查看當前HEAD指向與工做區間 的文件的具體差別