舉一反三, 觸類旁通, 不求甚解, 歡迎補充
git connect githubgit
# 1. 本地配置, 姓名和郵箱 git config --global user.name "<name>" git config --global user.email "<email>" # 2. 生成 ssh 公鑰 ssh-keygen -t rsa -C "<email>" # 2.2 Eenter 回車三次 # 2.3 根據提示覆制 id_rsa.pub 內容 # 2.4 github.com 打開 [Account settings]--[SSH Keys]頁面,而後點[Add SSH Key] # 3. 驗證, 成功會提示 successfully ssh -T git@github.com
git diffgithub
tig or ide or ...
git 強制遠端覆蓋本地ssh
git fetch --all git reset --hard origin/master
git fetch --all : 拉取全部更新, 不一樣步 git reset --hard origin/master : 本地代碼同步線上最新版本(會覆蓋本地全部與遠程倉庫上同名的文件)
git tag 管理ide
# 打了一個 tag v0.0.1 git tag -a v0.0.1 -m "v0.0.1 版本描述信息" # 本地 tag 推送到遠端 git push origin --tags # 刪除本地 tag v0.0.1 git tag -d v0.0.1 # 刪除遠端 tag v0.0.1 git push origin :refs/tags/v0.0.1
git rebase 一種協做的流程fetch
git config --global alias.ll "log --graph --all --pretty=format:'%Cred%h %Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"版本控制
00) git checkout <分支> 01) coding # 理解需求並快速開發 02) git add <src path> 03) git status # [可選] 詳細查看你提交文件是不是你所須要的 04) git commit -m "xxxxx" 05) git fetch 06) git ll # 確認本地 HEAD 是否基於 origin/<分支>, 如果則跳至 11) 07) git rebase origin/<分支> 若成功則跳至 10) 08) coding update # 解決 both modified 的全部文件衝突 09) git add # 全部 modified 的代碼(包括 modified 和 both modified) 10) git rebase --continue 11) git ll # 確認 HEAD 已經基於(rebase 到) origin/<分支> 12) git diff HEAD <src> # [可選] 詳細對比你提交的文件內容, 保證合併過程當中的減小意外 13) git push origin HEAD:<分支>
git 分支清理code
# 清理本地冗餘分支 git branch | grep -v -E 'master$|preview$|staging$' | xargs git branch -D # 清理遠端冗餘分支 # git branch -r | grep -v -E 'master$|preview$|staging$' | sed 's/origin\///g' | xargs -I {} echo 'git push origin :{}' | more git branch -r | grep -v -E 'master$|preview$|staging$' | sed 's/origin\///g' | xargs -I {} git push origin :{} # 本地分支類比遠端分支從新整理 git remote prune origin
git branch -D [branch name] : 刪除本地分支 git push origin :[branch name] : 刪除遠端分支
git 查水錶orm