git應(yīng)用

1_創(chuàng)建代碼倉(cāng)庫(kù)

git init 創(chuàng)建Repository
ls -al 查看內(nèi)容
git add file 添加文件/ add . 表示添加所有文件
git commit -m "First commit." 提交到Repository

2_查看修改狀態(tài)

git status 查看文件修改情況
git diff 查看所有文件的更改內(nèi)容
git diff app/src/main/.../MainAcitvity.java 查看具體文件的更改內(nèi)容
git checkout app/src/main/.../MainAcitvity.java 撤銷(xiāo)具體文件的更改內(nèi)容
<使用Andorid studio 時(shí),通常用revert撤銷(xiāo)更改>
當(dāng)文件的更改執(zhí)行過(guò)add命令后,無(wú)法用checkout命令還原,
此時(shí),git reset HEAD app/src/main/.../MainAcitvity.java取消添加,再運(yùn)行g(shù)it checkout命令撤銷(xiāo)修改。
git log 查看提交記錄<包括提交id,提交人,提交日期,提交記錄>
git log (id) -1 只看一行記錄
git log (id) -1 -p 查看該行記錄具體修改了什么內(nèi)容
git log --graph 以圖表形式查看

_3分支的用法

git branch 查看當(dāng)前版本庫(kù)當(dāng)中有哪些分支
git branch version1.0 創(chuàng)建名為version1.0的分支
git checkout version1.0 切換到名為version1.0的分支

將分支上的修改合并到主干
git checkout master
git merge version1.0
1_ 切換到主干
2_ 將名為version1.0的分支合并到主干
git merge --no-ff version1.0
--no-ff 作用是在歷史記錄中明確記錄下本次分支合并

git branch -D version1.0 刪除名為version1.0的分支

_4遠(yuǎn)程版本庫(kù)協(xié)作

git clone https://github.com/.../ text.git 將遠(yuǎn)程代碼下載到本地倉(cāng)庫(kù)
git push origin master 在對(duì)本地代碼進(jìn)行了 一些修改和提交,同步到遠(yuǎn)程代碼庫(kù)
origin指遠(yuǎn)程版本庫(kù)的Git地址,此處指https://github.com/.../text.git
master指同步到哪一個(gè)分支上,此處為master主干

遠(yuǎn)程版本庫(kù)的修改同步到本地,兩種方法:
1, fetch命令
git fetch origin master
此命令同步下來(lái)的代碼并不會(huì)合并到任何分支上,而是存放在origin/master分支上
git diff origin/master 查看遠(yuǎn)程版本庫(kù)作了哪些修改
git merge origin/master 將origin/maste分支上的修改合并到主分支上
2,pull命令
git pull origin master 將fetch 和 merge 命令一起執(zhí)行,獲取最新代碼并且合并

_將代碼托管至 github上

方法1:github上新建倉(cāng)庫(kù),clone至本地,將想要公開(kāi)的代碼提交至這個(gè)倉(cāng)庫(kù)再push到GitHub倉(cāng)庫(kù)中,代碼便會(huì)被公開(kāi)。

方法2:git remote add origin <倉(cāng)庫(kù)地址>
本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)連接

_github中Tag的應(yīng)用

git tag -a v1.0 -m "add a tag" 創(chuàng)建名為v1.0的Tag
git tag 查看所有Tag
git tag -l 'v1.0' 查看具體某個(gè)版本Tag
git show v1.0 展示Tag v1.0具體信息
git push origin v1.0 共享至github
git push origin --tags 所有Tag共享至github
git tag -d v1.0 刪除某個(gè)Tag
git push origin :refs/tags/v1.0 刪除遠(yuǎn)程某個(gè)Tag
git checkout v0.1 切換到名為v0.1的Tag
git checkout -b bt v0.1 創(chuàng)建一個(gè)名為bt的分支,包含v0.1Tag的代碼

_技巧應(yīng)用

場(chǎng)景一:

回到某個(gè)節(jié)點(diǎn),修復(fù)BUG,合并到主干
git reset 回溯歷史版本

git log 查看歷史日志,記錄要回到節(jié)點(diǎn)的ID哈希值
git reset --hard ID哈希值 回溯到某個(gè)節(jié)點(diǎn)
git checkout -b fix-b 創(chuàng)建修復(fù)Bug分支fix-b
修復(fù)Bug
git relog 查看當(dāng)前倉(cāng)庫(kù)執(zhí)行過(guò)的操作日志,記錄ID哈希值
git checkout master 回到主分支
git reset --hard ID哈希值 推進(jìn)到之前的節(jié)點(diǎn)
git merge --no-ff fix-b 合并fix-b分支
git add / git commit 提交至倉(cāng)庫(kù)

場(chǎng)景二:

要修改上一條提交信息
git commit --amend
在編輯器中修改提交信息,保存,關(guān)閉編輯器

場(chǎng)景三:

將一次小的修改,提交至上一次提交中,壓縮成一個(gè)歷史記錄
git rebase -i

git rebase -i HEAD~2 選定當(dāng)前分支中包含HEAD在內(nèi)的兩個(gè)最新歷史記錄為對(duì)象,并在編輯器中打開(kāi)
顯示為
pick id 提交信息1
pick id 提交信息2
更改為
pick id 提交信息1
fixup id 提交信息2
保存,關(guān)閉編輯器

場(chǎng)景四:

分支的協(xié)作開(kāi)發(fā):同事1創(chuàng)建某個(gè)功能分支,并同步到遠(yuǎn)程倉(cāng)庫(kù),同事2獲取遠(yuǎn)程的分支,提交更改,同步更新,同事1獲取最新更新。
1,git checkout -b feature-D 同事1創(chuàng)建分支
2,git push -u origin feature-D 同事1push至遠(yuǎn)程倉(cāng)庫(kù)
3,git clone git@github.com:...
git branch -a 添加-a可以同時(shí)查看本地和遠(yuǎn)程倉(cāng)庫(kù)的信息
如果已克隆至本地倉(cāng)庫(kù),可省略...
git checkout -b feature-D origin/feature-D 將feature-D分支獲取至本地
修改...
4,git commit -am "###" 提交
5,git push 推送至遠(yuǎn)程倉(cāng)庫(kù)
6,git pull origin feature-D 同事1獲取分支最新代碼

場(chǎng)景五:

github上下載某個(gè)分支代碼
git clone -b feature-b git@github.com:...
下載名為feature-b的分支代碼

場(chǎng)景六:

github上 查看分支間差別
比如想查看feature-a 和 feature-b分支之間的差別,可以將分支名加入到URL里
https://github.com/rails/rails/compare/feature-a...feature-b
查看幾天前的差別
https://github.com/rails/rails/compare/master@{7.day.ago}...master
時(shí)間單位{day.week.month.year}
查看與指定日期之間的差別
https://github.com/rails/rails/compare/master@{2018-01-01}...master

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git常用語(yǔ)法 [TOC] Git簡(jiǎn)介 描述 ? Git(讀音為/g?t/。)是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,941評(píng)論 0 13
  • 創(chuàng)建版本庫(kù): 1.初始化一個(gè)Git倉(cāng)庫(kù),使用git init命令。 2.添加文件到Git倉(cāng)庫(kù),分兩步:(1)使用命...
    Leon_Geo閱讀 1,429評(píng)論 1 11
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,852評(píng)論 9 163
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,871評(píng)論 1 26
  • 第一章 晝夜節(jié)律 (重點(diǎn)摘抄) 人平均每晚睡6.5個(gè)小時(shí)。此外,每晚只睡5~6小時(shí)占比還在逐年加??!由此看來(lái),社...
    KAKA旭閱讀 1,164評(píng)論 0 0

友情鏈接更多精彩內(nèi)容