Git命令整理【本地操作】(上)
Git命令整理【可視化軟件-SourceTree】(下)
這裏主要記錄一下遠程操作
遠程操作
//首先在與遠程庫通信中使用的ssh通信,所以需要創建SSH key,並將SSH key添加到遠程庫中
ssh-keygen -t rsa -C "[email protected]"
//之後一路回車即可
cat ~/.ssh/id_rsa.pub //查看公鑰(其中還有一個是id_rsa爲私鑰)
//若存在本地庫,想把空的線上庫與本地庫相關聯
git remote add origin git@github.com:xxxxxxx/xxxx.git //這樣就將git與遠程庫相關聯
//刪除關聯的遠程庫
git remote rm origin
git push -u origin master //第一次push需加-u 這是因爲將本地master分支內容推送到遠程的master分支,並將兩個分支相關聯
git push origin master //以後推送的方法
//實際開發則是先有遠程庫 進行clone到本地後進行開發
git clone git@github.com:xxxxxxxx/xxxx.git
分支管理
//創建分支
git branch new_feature
//切換分支
git checkout new_feature
//上述兩步等價於
git checkout -b new_feature
//查看本地分支
git branch
//查看遠程分支
git branch -v
//查看所有分支
git branch -a
//合併分支 在切換回來的分支上操作
git merge new_feature
//刪除分支
git branch -d new_feature
//switch命令使用
git switch -c new_feature //創建並切換到新的分支 但這裏要注意git的版本
git switch new_feature //切換分支
//禁止使用Fast-Forward模式進行merge分支
git merge --no-ff -m "merge info" new_feature //這時是使用普通模式進行合併分支,會帶有commit版本號
//將當前的工作現在隱藏
git stash
//查看工作現場
git stash list
//恢復工作現場
git stash apply & git stash drop
//一鍵恢復
git stash pop
//複製一個特定的提交到當前分支
git cherry-pick {版本號}
//強行刪除一個分支
git branch -D new_feature
遠程倉庫
//查看遠程庫
git remote
//查看遠程庫的信息
git remote -v
//推送遠程庫
git push origin master
//創建本地分支和遠程分支
git checkout -b dev origin/dev
//建立本地分支和遠程分支的聯繫 & 拉取遠程分支
git branch --set-upstream-to=origin/dev dev
git pull
//將未push的分支整理爲一條直線,改變基於的標準,以最新的遠程分支爲標準
git rebase
標籤管理
//切換到需要打標籤的分支 給該分支打上標籤
git checkout -b dev && git tag v1.0
//查看當前所有標籤
git tag
//給提交版本號打標籤
git log --pretty=oneline --graph --abbrev-commit //找出log中的版本號
git tag v0.9 i7823y
//查看當前標籤信息
git show v1.0
//給標籤指定特有的信息
git tag -a v0.8 -m "add tag" 0909j
//刪除標籤
git tag -d v0.8
//推送標籤
git push origin v1.0
//推送所有標籤
git push origin --tags
//刪除遠程標籤
git push origin :refs/tags/
自定義git
git config --global color.ui true //設置git顯示顏色
//忽略文件的配置 需要配置的文件都在該目錄下
https://github.com/github/gitignore
//想提交被忽略的文件
git add -f <file name>
//查看被忽略的原因
git check-ignore -v <file name>
//配置別名
git config --global alias.xxx <操作名稱>
//當前倉庫的配置都放在 .git/config中 若要刪除別名 在這裏面刪除即可;如果要刪除該用戶的config 則需要在 .gitconfig中刪除