1、初始化一個(gè)git項(xiàng)目
git init
2豪硅、將添加的文件或修改添加到倉庫
git add 文件名
3哩照、查看當(dāng)前的狀態(tài)
git status
4、查看修改的不同懒浮,比較展示
# 修改文件后飘弧,尚未執(zhí)行g(shù)it add前執(zhí)行
git diff
5、將修改提交到倉庫
git commit -m "本次提交的描述"
6砚著、查看提交歷史
git log
# 簡潔顯示
git log --pretty=oneline
7次伶、回滾版本
# 回滾到上一個(gè)提交的版本
git reset --hard HEAD^
# 注意,如果是Windows下的cmd環(huán)境赖草,需執(zhí)行如下
# 因^是cmd.exe的escape字符学少,屬于特殊字符
git reset --hard HEAD"^"
# 回滾到前n個(gè)版本
git reset --hard HEAD~n
8剪个、查看命令歷史
git reflog
9秧骑、工作區(qū)和暫存區(qū)的理解
git跟蹤并管理的是修改,而非文件
參考https://www.liaoxuefeng.com/wiki/896043488029600/897271968352576
10扣囊、放棄工作區(qū)的修改
git checkout -- 文件名
11乎折、 關(guān)聯(lián)遠(yuǎn)程倉庫
# 遠(yuǎn)程倉庫使用你自己的地址
git remote add origin git@github.com:susengo/learngit.git
# 查看遠(yuǎn)程庫信息
git remote -v
# 刪除已關(guān)聯(lián)的遠(yuǎn)程庫
git remote rm origin
12、 推送分支
# 第一次推送加-u參數(shù)侵歇,把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支
# 還會把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來
# 以后的推送或者拉取時(shí)就可以簡化命令
git push -u origin master
# 以后可直接執(zhí)行
git push origin master
# 本地新建分支dev骂澄,并推送到遠(yuǎn)端
git checkout -b dev
git push origin dev:dev
13、 多人協(xié)作
# 地址使用你需要clone的遠(yuǎn)程倉庫
git clone git@github.com:susengo/gitskills.git
# 查看遠(yuǎn)程庫信息
git remote -v
# 在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支
git checkout -b branch-name origin/branch-name
# 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)
git branch --set-upstream branch-name origin/branch-name
# 從遠(yuǎn)程抓取分支
git pull
# 把本地未push的分叉提交歷史整理成直線
git rebase
14惕虑、分支操作
- 創(chuàng)建坟冲、切換、刪除
# 創(chuàng)建dev溃蔫,并切換到dev分支
git checkout -b dev
# 在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支
git checkout -b branch-name origin/branch-name
# 查看所有分支
git branch
# 切換到分支master
git checkout master
# 刪除指定分支
git branch -d 分支名
# 刪除未被合并過的分支
git branch -D 分支名
- 合并
# 合并指定分支到當(dāng)前分支
git merge dev
# 查看分支合并圖
git log --graph --pretty=oneline --abbrev-commit
# 如果merge時(shí)提示如下錯(cuò)誤:fatal: refusing to merge unrelated histories
# 可強(qiáng)制合并
git merge dev --allow-unrelated-histories
15健提、工作區(qū)
# 儲藏工作區(qū)
git stash
# 查看已儲藏的工作區(qū)stash列表
git stash list
# 恢復(fù)工作區(qū)
git stash apply
# 刪除stash內(nèi)容
git stash drop
# 恢復(fù)并刪除工作區(qū)存檔
git stash pop
# 復(fù)制一個(gè)特定的提交到當(dāng)前分支
git cherry-pick 4c805e2
16、 標(biāo)簽
# 創(chuàng)建標(biāo)簽
# 默認(rèn)為HEAD伟叛,可跟commit id指定
git tag 標(biāo)簽名 (commit id)
# 創(chuàng)建帶有說明的標(biāo)簽
git tag -a 標(biāo)簽名稱 -m "標(biāo)簽說明"
# 刪除標(biāo)簽
git tag -d 標(biāo)簽名稱
# 推送一個(gè)本地標(biāo)簽到遠(yuǎn)程
git push origin 標(biāo)簽名稱
# 推送所有標(biāo)簽到遠(yuǎn)程
git push origin --tags
# 刪除一個(gè)遠(yuǎn)程標(biāo)簽
git push origin :refs/tags/標(biāo)簽名稱
17私痹、 配置別名
# 比如git status就可以簡化為git st
# 加上--global是針對當(dāng)前用戶起作用的
# 如果不加,那只針對當(dāng)前的倉庫起作用
git config --global alias.st status
# 更好的顯示log
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
# 查看全局配置信息
git config --global alias.st status
18、 搭建git服務(wù)器
搭建git服務(wù)器
19紊遵、 詳細(xì)教程
廖雪峰大神的git教程
20账千、 后續(xù)待補(bǔ)充