目錄:
1、Git其他配置
2渊抽、Git bash操作總結(jié)
3蟆豫、Git在AndroidStudio上
進擊的小仙
1. Git其他配置
1.1. 指令重命名配置
先前查看圖文版本日志時我們用的是:
git log --graph --pretty=oneline --abbrev-commit
很長一串,很難記懒闷,虧我花了那么多時間來復(fù)習這一句十减,結(jié)果逆天發(fā)現(xiàn)竟然可以對指令重命名,相見恨晚7吖馈0锉佟!
重命名:
git config --global alias.graphlog "git log --graph --pretty=oneline --abbrev-commit"
下次使用的時候直接輸入:git graphlog
就可以了玩焰。
參考資料里面給了一個更贊的打印日志格式:
git config --global alias.graphlog "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
配置后執(zhí)行指令git graphlog
由驹,看到的效果是這樣的,很贊:
Paste_Image.png
那么問題來了昔园,忘了以前設(shè)置的配置怎么辦蔓榄?
沒關(guān)系并炮,去看看配置文件吧:
# 修改當前版本庫的配置
cat ~/.gitconfig
如果要設(shè)置成全局的可以在~/.git/config
文件中進行配置
1.2. 部分文件不同步到git庫
假設(shè)項目里面有個local_private_file.md不想同步提交到git庫中,可以在.gitignore文件中進行配置:
# 打開忽略文件甥郑,將local_private_file.md添加進去
vim .gitignore
# 添加并提交修改
git add .gitignore
git commit -m "ignore local_private_file.md file"
此時如果又想提交了逃魄,可以將配置文件中改行刪除,或者用下面這句:
git add -f local_private_file.md
2. Git bash操作總結(jié)
2.1. 配置澜搅,添加 伍俘,刪除
# 配置用戶名和郵箱
git config -- global user.name "lisa"
git config -- global user.email "email@example.com"
# 配置簡短指令,把字符串里面的配置成 graphlog
git config --global alias.graphlog "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
2.2. 初始化本地版本庫
git init
2.3. 添加和刪除
# 在版本庫目錄下添加文件README.md文件并對其進行修改
vim README.md # 修改文件
# 提交給git版本庫分兩步勉躺,add 和 commit
# add是將工作區(qū)做的修改提交到暫存區(qū)
git add README.md
# commit 是將暫存區(qū)的修改提交到版本庫
git commit -m "modified README.md file"
#刪除工作區(qū)文件
rm README.md
# 提交刪除操作
git rm README.md
git commit -m "remove README.md file"
2.4. 查看
# 查看工作區(qū)與暫存區(qū)狀態(tài)
git status
# 查看工作區(qū)與暫存區(qū)差異
git diff
# 查看版本日志
git log
git reflog
# 查看圖標日志
git log --graph --pretty=oneline --abbrev-commit
# 或者根據(jù)文中第一部分的配置
git graphlog
# 查看文件內(nèi)容
cat file
# 查看本地分支
git branch
# 查看所有分支癌瘾,包含遠程
git branch -a
# 查看遠程分支
git remote show origin
# 查看兩個分支差異
git log dev...master
# 對比本地分支與遠程分支差異
git diff dev origin/dev
# 查看標簽
git tag
# 查看某個標簽下的提交信息
git show v1.0
2.5. 版本控制
# 版本回退
git reset --hard HEAD^ # 回退到上個版本
git reset --hard HEAD^^ # 回退到上上個版本
git reset --hard HEAD~10 # 往前回退十個版本
git reset --hard HEAD versionID # 回退到制定版本
# 撤銷對工作區(qū)的修改(回到暫存區(qū)或版本庫的版本)
git checkout --file
# 撤銷對暫存區(qū)的修改
git reset HEAD file
2.6. 分支管理
# 新建分支
git checkout -b dev
# 切換分支
git checkout master
# 快速合并分支,將lisa分支合并到當前分支
git merge lisa
# 有記錄的合并方式赂蕴,將lisa分支合并到當前分支
git merge --no-ff -m "merge log info" lisa
# 快速解決沖突
git checkout ours README.md
git checkout theris README.md
# 刪除本地名為 bug001 的分支
git branch -d bug001
2.7. 遠程分布式管理
- 在github上注冊賬號柳弄,將github作為服務(wù)器倉庫
- 在github上新建倉庫
- 本地打開bash,生成ssh key
ssh-keygen -t rsa -C "example@email.com"
執(zhí)行完畢后在用戶主目錄下會生成.ssh文件夾概说,里面有id_rsa
和id_rsa.pub
私鑰和公鑰兩個文件
- 復(fù)制公鑰文件里面的內(nèi)容
- 在github網(wǎng)站中進入Settings->SSH and GPG keys一欄碧注,添加進去。
- 克隆github遠程版本庫到本地
git clone git@github.com:elspet/My_MVP_App.git
- 關(guān)聯(lián)遠程倉庫
git remote add origin git@github.com:elspet/My_MVP_App.git
2.8. 遠程分支操作
# 推送本地內(nèi)容到遠程倉庫
git pull origin master
git push origin master
# 推送新建的本地分支到遠程倉庫
git push origin lisa
# 刪除遠程分支
git push origin --delete lisa
# 刪除不存在于遠程倉庫的本地分支
git remote prune origin
# 將遠程分支獲取到本地對應(yīng)分支
git checkout -b dev origin/dev
git fetch origin dev_originname:dev_localname
# 將遠程分支與本地分支關(guān)聯(lián):
git branch --set-upstream branch_name origin/branch_name
# 拉取分支內(nèi)容
git pull origin branch_name
# 提交分支內(nèi)容
git push origin branch_name
2.9. 標簽
# 添加標簽
git tag v1.0
# 對指定版本添加標簽
git tag v1.0 versionID
# 對制定版本添加標簽糖赔,并注釋
git tag -a v1.0 -m "first released" versionID
# 刪除標簽
git tag -d v1.0
# 提交標簽到遠程
git push origin tagname
# 提交所有標簽到遠程倉庫
git push origin --tags
# 刪除遠程倉庫標簽
git tag -d v1.0
git push origin :refs/tags/v1.0
2.10. 貯藏工作區(qū)修改
# 貯藏
git stash
# 取回
git stash apply
git stash drop
# 或者
git stash pop
# 或者取回制定stash
git stash apply stash@{0}
3. Git在AndroidStudio上
- 將git的安裝路徑配置的AndroidStudio的git插件中
Settings -- VersionControl -- Git -- Path to Git executable - 添加 git 項目
Settings -- VersionControl -- add - 在VersionControl菜單欄中查看版本信息
HEAD :當前代碼的指向
master :本地master分支
origin/master :github上的master分支
AS上的版本控制窗口