每次吃一點Android_Gitの五

目錄:
1、Git其他配置
2、Git bash操作總結(jié)
3、Git在AndroidStudio上

進擊的小仙

穿越:【目錄】每次吃一點Android_Git版本管理

參考資料:Git教程 - 廖雪峰的官方網(wǎng)站

1. Git其他配置

1.1. 指令重命名配置

先前查看圖文版本日志時我們用的是:

git log --graph --pretty=oneline --abbrev-commit

很長一串,很難記,虧我花了那么多時間來復(fù)習(xí)這一句,結(jié)果逆天發(fā)現(xiàn)竟然可以對指令重命名,相見恨晚!!!
重命名:

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)系,去看看配置文件吧:

# 修改當(dāng)前版本庫的配置
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
# 查看圖標(biāo)日志
git log --graph --pretty=oneline --abbrev-commit
# 或者根據(jù)文中第一部分的配置
git graphlog
# 查看文件內(nèi)容
cat file
# 查看本地分支
git branch
# 查看所有分支,包含遠(yuǎn)程
git branch -a
# 查看遠(yuǎn)程分支
git remote show origin
# 查看兩個分支差異
git log dev...master
# 對比本地分支與遠(yuǎn)程分支差異
git diff dev origin/dev
# 查看標(biāo)簽
git tag
# 查看某個標(biāo)簽下的提交信息
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分支合并到當(dāng)前分支
git merge lisa
# 有記錄的合并方式,將lisa分支合并到當(dāng)前分支
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. 遠(yuǎn)程分布式管理

  • 在github上注冊賬號,將github作為服務(wù)器倉庫
  • 在github上新建倉庫
  • 本地打開bash,生成ssh key
ssh-keygen -t rsa -C "example@email.com"

執(zhí)行完畢后在用戶主目錄下會生成.ssh文件夾,里面有id_rsaid_rsa.pub私鑰和公鑰兩個文件

  • 復(fù)制公鑰文件里面的內(nèi)容
  • 在github網(wǎng)站中進入Settings->SSH and GPG keys一欄,添加進去。
  • 克隆github遠(yuǎn)程版本庫到本地
git clone git@github.com:elspet/My_MVP_App.git
  • 關(guān)聯(lián)遠(yuǎn)程倉庫
git remote add origin git@github.com:elspet/My_MVP_App.git

2.8. 遠(yuǎn)程分支操作

# 推送本地內(nèi)容到遠(yuǎn)程倉庫
git pull origin master
git push origin master
# 推送新建的本地分支到遠(yuǎn)程倉庫
git push origin lisa
# 刪除遠(yuǎn)程分支
git push origin --delete lisa
# 刪除不存在于遠(yuǎn)程倉庫的本地分支
git remote prune origin
# 將遠(yuǎn)程分支獲取到本地對應(yīng)分支
git checkout -b dev origin/dev
git fetch origin dev_originname:dev_localname
# 將遠(yuǎn)程分支與本地分支關(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. 標(biāo)簽

# 添加標(biāo)簽
git tag v1.0
# 對指定版本添加標(biāo)簽
git tag v1.0 versionID
# 對制定版本添加標(biāo)簽,并注釋
git tag -a v1.0 -m "first released" versionID
# 刪除標(biāo)簽
git tag -d v1.0
# 提交標(biāo)簽到遠(yuǎn)程
git push origin tagname
# 提交所有標(biāo)簽到遠(yuǎn)程倉庫
git push origin --tags
# 刪除遠(yuǎn)程倉庫標(biāo)簽
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 :當(dāng)前代碼的指向
master :本地master分支
origin/master :github上的master分支
AS上的版本控制窗口
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內(nèi)容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,698評論 9 163
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,695評論 4 54
  • package control的安裝 基本操作1 、調(diào)出命令面板 command+shift+p2 、輸入inst...
    異想派閱讀 341評論 0 0
  • 每個愛唱歌的人心中都有一些傷感的情緒難以說出,今天托福一位很有氣質(zhì)老師的老師來開講座,讓我們受益匪淺,但讓我心靈觸...
    洛小乙閱讀 142評論 0 0
  • 好快,三月過去了 四月學(xué)車!
    幾近光明閱讀 212評論 0 0