git init
git add <flie>
git commit -m '...'
1 git statusgit
git status: 文件在 工做區/暫存區/提交後的 狀態
2 git diff指針
git diff <flie>: 單個文件的具體修改內容; git diff: 工做區與暫存區 內容的具體修改狀況 git diff --staged:暫存區與版本庫 內容狀況 git diff HEAD --<flie>: 工做區與版本庫最新版本的 具體內容區別; git diff id1 id2: 對比(分支裏)兩個版本的 內容
3 git log日誌
git log(commit id):查看 當前分支的 歷史版本日誌(q退出,下箭頭翻頁) git reflog:查看 版本回退/前進的 歷史版本日誌 git log --graph --pretty=oneline --abbrev-commit: 查看分支合併圖
git checkout --<file>: 丟棄在工做區/暫存區 未提交的修改 git reset HEAD <file>: S1 撤銷暫存區的修改——重回工做區中; S2 丟棄工做區的修改,命令見上 版本回退: git reset --hard HEAD^/commit id: 使工做區文件內容 回退/前進到 id的那次
1 HEAD概念演示,見分支建立演示圖;code
git branch [分支名] : 查看 [建立新] 分支 git checkout 分支名 : 轉換HEAD(當前指向分支) git checkout -b <name>:建立+切換分支
2 合併/刪除分支開發
git merge <name>: 合併某分支到當前分支(快速合併) git merge --no-ff -m "xxx" <name>: 普通合併(合併後的歷史有分支) git branch -d <name>:刪除分支
快速合併過程見下圖:rem
普通模式合併過程見下圖:get
3 解決衝突:見衝突解決it
1 添加遠程庫:
: S1 登錄GitHub,建立一個新的倉庫;
S2 把一個已有的本地倉庫與之關聯:
S3把本地庫的全部內容 推送到遠程庫上:class
S2 git remote add origin git@... S3 git push -u origin [分支名]
2 查看遠程庫消息:stream
git remote -v
3 克隆遠程庫並開發:
git clone git@...
開發:
: 1 建立遠程origin的 dev分支 到本地;
2 把dev分支push到遠程
3 若推送發送衝突時:
S1 git checkout -b dev origin/dev; S2 git push origin dev; S3 git branch --set-upstream dev origin/dev git pull (origin 分支名) 手動解決衝突,提交 git push origin dev