Git - 相關操作

想從添加秘鑰看起請點擊:在macOS 上首次使用 Git 的基礎教程

查看本地Git配置信息

git config --local --list   查詢當前Git配置

git config user.name

git config user.email 查詢當前的 用戶名 /郵箱


查看項目的所有分支情況

git branch -a 查看本地+遠程的所有分支

與分支相關的操作

git branch  //查看當前所有的分支(當前所在的分支會   標綠加* )

git branch newBranch-001  //新建一個名叫《newBranch-001》的分支

git checkout  newBranch-001  //當前分支切換至《newBranch-001》分支
//上面兩句可以合并忆矛,靈活使用
git checkout -b  newBranch-001 //先new再切換到此新分支上

git branch -d Issue-001 //刪除《Issue-001》分支

git branch -r -d Issue-001 //刪除《origin/Issue-001》的遠程分支

以遠端倉庫為準,拉取遠端內容

git pull --rebase origin master  在遠端的基礎上拉取最新內容催训,用于首次 push 不成功的情況

最常用操作

git status  最常用的漫拭,查看當前工作區(qū)|緩存區(qū)

git diff  balabala.text 查看《balabala.text》文件工作區(qū)與緩存區(qū)的不同地方

git add  balabala.text  把當前工作區(qū)的《balabala.text》文件添加到緩存區(qū)

git commit -m "老板是煞筆"  把當前緩存區(qū)的全部內容提交為一個版本

//以上兩步(git add\ git commit)可以合并為(git commit -m -a "描述"),但強烈不推薦2勺ぁ!膳叨!
//(因為它只會把默認更新提交痘系,“新增默認不存入緩存區(qū)” 不會被提交!A倨住奴璃!)
//(簡單理解就是一部分文件[往往最重要!]不會被提交,具體百度或者自己嘗試一次就懂了)
//git commit -m "描述" -a   //把當前“變更” [但不包含增加]添加到緩存區(qū)并進行提交

//如果在 push之前發(fā)現(xiàn) commit 描述文字錯誤苟穆,或單純修改上次提交的文字描述
git commit --amend  查看并修改最近一次的提交內容
//這里可以使用vi修改 (把"老板是煞筆" 修改為 "老板加雞腿")

---
---
//確認本地需要提交的信息無誤后
git push  把本地倉庫推送到遠程倉庫

查看歷史操作

git log --pretty=oneline  //打印所有歷史操作雳旅,可以快捷查看每個操作的縮略碼

git reflog 打印所有的命令記錄(主要是從未來回到過去后,用log無法找到未來的id)

git log --graph --pretty=oneline --abbrev-commit //以縮略圖形式攒盈,展示分支合并信息

后悔藥,reset-- hard 操作僵蛛,慎用迎变!

git reset --hard  (6位id值)  回退到某一ID對應的版本(既可以是過去,也可以是未來)

對緩存區(qū)的操作

git rm bala.text  //刪除緩存區(qū)內的《 bala.text》文件

git checkout -- bala.text  
//用緩存區(qū)的《bala.text 》文件替換工作區(qū)對應《bala.text 》文件的內容驼侠。
//就這一點來看,可以有“刪除當前內容”和“回退之前內容”兩層含義倒源。
//未add時相速,刪除當前工作區(qū)的內容很容易理解;
//回退 的話要與  git reset --hard  (過去正確的版本id) 聯(lián)合使用,
//先回退版本突诬,再checkout該文件,就回退到了該文件還存在的時刻绒极。

  • 合并分支 (不要讓新手合并代碼J呓荨!V芄铡)

就像不要讓新手去寫css

需要先搞清楚一個基本道理:

假設:

主分支用[master]表示; 次要分支用[issue]表示

則:

要把 issue 合并到 master 之上妥粟,就首先把當前分支切換至目標分支——master上,再在master上merge issue勾给。


很自然,也很基本脓钾。但我們平時開發(fā)總是在issue上的開發(fā)桩警,檢查好要往主分支合并時,新手很容易合并反握截,直接在issue 上merge other了柱蟀,搞得亂七八糟的蚜厉。

merge合并語句

git merge Issue-001  把《Issue-001》分支內容合并到當前分支之中

//merge 后一般就刪除分支了
git branch -d Issue-001 刪除《Issue-001》分支

git branch -r -d Issue-001 刪除《origin/Issue-001》遠程分支

合并時解決沖突

可以使用vim 直接操作,建議使用术瓮。Vim 語法傳送門
也可以進入工程文件手動更改。

vi a.rtf 

在需要的地方 dd (刪除)

最后  :wq (保存并退出)

解決完沖突就可以繼續(xù)提交代碼了

//注意嘍胞四,這里可都是在develop分支上的操作
git status

git add  aaa.text  //之前沖突的文件

git commit -m "解決1.03版本沖突"  

git push

以縮略圖形式辜伟,展示分支合并信息

git log --graph --pretty=oneline --abbrev-commit //以縮略圖形式,展示分支合并信息

高階玩法 (有風險导狡,慎用!6览伞C渡摹)

把本地分支嫁接到某一遠端分支節(jié)點

git fetch

git reset --hard origin/isuue-100 

最后記錄一下版本合并的原則。

Origin 遠端倉庫贪婉,不解釋

Master 權高位重料皇,可以認為是“成熟版本”的記錄者,它的每一次節(jié)點的更替鬼譬,都意味著一個“經得起線上檢驗的”版本逊脯。面向版本,而不是面向功能军洼。

Develop 戰(zhàn)線最長,面向功能避乏「噬#可以認為是“完整新功能”的記錄者歹叮,它的每一次節(jié)點更替铆帽,意味著一個“完整的功能”。一個版本可以有若干新舊功能萨螺。

Future 一般用于打某幾個功能的較完整的測試包愧驱。比如開發(fā)周期為兩周,第一周只完成ABC三個功能冯键,D功能完成一半惫确,就先把ABC merge 到Future中,查看整體效果改化,或用于展示。最終Future將在功能測試后銷毀揍鸟,不建議合并至Develop中!

Issue 分支阳藻,面向功能模塊谈撒,(或者說面向文件,盡可能只修改某一功能所涉及的某幾個文件啃匿,盡量避免因不同的Issue修改同一文件而造成的合并沖突)可能包含一個或多個近似功能實現(xiàn)。需要就開辟夹厌,棄用即銷毀裆悄,完成就rebase merge 到Develop中,實現(xiàn) “某一功能開發(fā)完成”或南,或“針對性修改某一單一功能”的目的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市腻贰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冀瓦,老刑警劉巖写烤,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件洲炊,死亡現(xiàn)場離奇詭異,居然都是意外死亡暂衡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唧领,“玉大人,你說我怎么就攤上這事胯杭∪唬” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵叁温,是天一觀的道長核畴。 經常有香客問我,道長跟束,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任灭贷,我火速辦了婚禮略贮,結果婚禮上,老公的妹妹穿的比我還像新娘览妖。我一直安慰自己揽祥,他們只是感情好,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布府树。 她就那樣靜靜地躺著料按,像睡著了一般。 火紅的嫁衣襯著肌膚如雪站绪。 梳的紋絲不亂的頭發(fā)上恢准,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機與錄音涂召,去河邊找鬼敏沉。 笑死,一個胖子當著我的面吹牛盟迟,可吹牛的內容都是我干的。 我是一名探鬼主播迫皱,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼卓起,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了戏阅?” 一聲冷哼從身側響起奕筐,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎救欧,沒想到半個月后锣光,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體誊爹,經...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年办成,在試婚紗的時候發(fā)現(xiàn)自己被綠了搂漠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桐汤。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怔毛,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情碎绎,我是刑警寧澤抗果,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布冤馏,位于F島的核電站,受9級特大地震影響宿接,放射性物質發(fā)生泄漏辕录。R本人自食惡果不足惜梢卸,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一蛤高、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧戴陡,春花似錦、人聲如沸异吻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雷猪。三九已至晰房,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間殊者,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工嚷辅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留距误,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓趁俊,卻偏偏與公主長得像刑然,于是被迫代替她去往敵國和親寺擂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內容

  • 此處,我們可以開始建立一個很方便的本地和遠程的聯(lián)系的倉庫怔软。 如果你是你是直接clone的老師的庫垦细。那么可以準備刪除...
    張照博閱讀 518評論 1 6
  • github相關概念 這里要區(qū)分git和githubgit操作是屬于左半部分,github屬于上面部分git是自己...
    西電大俠閱讀 1,003評論 1 2
  • 常規(guī)操作 git add <file>:提交<file>的更改挡逼,-A 提交所有更改括改,. 提交當前路徑下的修改,<f...
    xiaozhidy閱讀 329評論 0 1
  • Git分支管理 轉載https://www.cnblogs.com/chechen/p/9950798.html ...
    fifteen_5fb5閱讀 175評論 0 0
  • git切換分支注意事項: git 切換分支前家坎,需要先 add 將本地的所做的更改暫存一下嘱能,切換分支便不會失掉本地的...
    嗨姑娘_大個子閱讀 306評論 0 0