GIT操作

  • 1.安裝git
    sudo apt-get install git
  • 2.查看git安裝結(jié)果
    git
  • 3.創(chuàng)建項目
    • 在桌面創(chuàng)建test文件夾,表示是工作項目
      Desktop/test/
  • 4.創(chuàng)建本地倉庫
    • 進入到test,并創(chuàng)建本地倉庫.git
    • 新創(chuàng)建的本地倉庫.git是個空倉庫
      cd Desktop/test/
      git init
  • 5.配置個人信息
    git config user.name '張三'
    git config user.email 'zhangsan@163.com'

默認不配置的話坛增,會使用全局配置里面的用戶名和郵箱 全局git配置文件路徑:~/.gitconfig

  • 6.新建py文件
    • 在項目文件test里面創(chuàng)建login.py文件,用于版本控制演示
  • 7.查看文件狀態(tài)
    • 紅色表示新建文件或者新修改的文件,都在工作區(qū).
    • 綠色表示文件在暫存區(qū)
    • 新建的login.py文件在工作區(qū)儡遮,需要添加到暫存區(qū)并提交到
  • 8.將工作區(qū)文件添加到暫存區(qū)

    添加項目中所有文件

    git add .
    或者

    添加指定文件

    git add login.py
  • 9.將暫存區(qū)文件提交到倉庫區(qū)
    • commit會生成一條版本記錄
    • -m后面是版本描述信息
      git commit -m '版本描述'
  • 10.接下來就可以在login.py文件中編輯代碼
    • 代碼編輯完成后即可進行addcommit操作
    • 提示:添加和提交合并命令
      git commit -am "版本描述"
    • 提交兩次代碼蓝纲,會有兩個版本記錄
  • 11.查看歷史版本
    git log
    或者
    git reflog

git reflog 可以查看所有分支的所有操作記錄(包括commit和reset的操作)敛纲,包括已經(jīng)被刪除的commit記錄掠兄,git log 則不能察看已經(jīng)刪除了的commit記錄

  • 12.回退版本
    • 方案一:
      • HEAD表示當前最新版本
      • HEAD^表示當前最新版本的前一個版本
      • HEAD^^表示當前最新版本的前兩個版本像云,以此類推...
      • HEAD~1表示當前最新版本的前一個版本
      • HEAD~10表示當前最新版本的前10個版本,以此類推...
        git reset --hard HEAD^
    • 方案二:當版本非常多時可選擇的方案
      • 通過每個版本的版本號回退到指定版本
        git reset --hard 版本號
  • 13.撤銷修改
    • 只能撤銷工作區(qū)蚂夕、暫存區(qū)的代碼,不能撤銷倉庫區(qū)的代碼
    • 撤銷倉庫區(qū)的代碼就相當于回退版本操作
      • 撤銷工作區(qū)代碼
        • 新加代碼num3 = 30迅诬,不add到暫存區(qū),保留在工作區(qū)
          git checkout 文件名
      • 撤銷暫存區(qū)代碼
        • 新加代碼num3 = 30婿牍,并add到暫存區(qū)

          第一步:將暫存區(qū)代碼撤銷到工作區(qū)

          git reset HEAD 文件名

          第二步:撤銷工作區(qū)代碼

          git checkout 文件名
  • *14.對比版本
    • 對比版本庫與工作區(qū)
      • 新加代碼num3 = 30侈贷,不add到暫存區(qū),保留在工作區(qū)
      • git diff HEAD -- login.py
    • 對比版本庫
      • 新加代碼num3 = 30牍汹,并add到暫存區(qū)
      • git diff HEAD HEAD^ -- login.py
  • 15.刪除文件:刪除文件分為確定刪除和誤刪
    • 在項目中新建test.py文件铐维,并添加和提交到倉庫
      # git確定刪除文件柬泽,對比添加文件git add
      git rm 文件名
      # 刪除后記錄刪除操作版本
      git commit -m '刪除描述'
      • 誤刪處理:撤銷修改即可

        刪除文件

        rm 文件名

        git撤銷修改

        git checkout -- 文件名

多人操作

1.克隆遠程倉庫的命令
cd Desktop/manager/
git clone https://github.com/zhangxiaochuZXC/test007.git

推送項目到遠程倉庫
工作區(qū)添加到暫存區(qū)
git add .
暫存區(qū)提交到倉庫區(qū)
git commit -m '立項'
推送到遠程倉庫
git push

標簽

  • 本地打標簽
    git tag -a 標簽名 -m '標簽描述'
    例:
    git tag -a v1.0 -m 'version 1.0'

  • 推送標簽到遠程倉庫
    git push origin 標簽名
    例:
    git push origin v1.0

刪除本地和遠程標簽
刪除本地標簽
git tag -d 標簽名
刪除遠程倉庫標簽
git push origin --delete tag 標簽名

分支

  • 作用:
    • 區(qū)分生產(chǎn)環(huán)境代碼以及開發(fā)環(huán)境代碼
    • 研究新的功能或者攻關難題
    • 解決線上bug
  • 特點:
    • 項目開發(fā)中公用分支包括master慎菲、dev
    • 分支master是默認分支,用于發(fā)布锨并,當需要發(fā)布時將dev分支合并到master分支
    • 分支dev是用于開發(fā)的分支露该,開發(fā)完階段性的代碼后,需要合并到master分支
  • 對比:操作分支前的代碼
  • 1.進入到本地倉庫test007
    cd Desktop/manager/test007/
  • 2.查看當前分支
    git branch
  • 3.創(chuàng)建并切換到dev分支
    git checkout -b dev
  • 4.設置本地分支跟蹤遠程指定分支(將分支推送到遠程)
    git push -u origin dev
  • 5.在dev分支編輯代碼
  • 6.管理dev分支源代碼:add第煮、commit解幼、push
  • 7.dev分支合并到master分支
    • 7.1 先切換到master分支
      git checkout master
    • 7.2 dev分支合并到master分支
      git merge dev
    • 7.3 經(jīng)理推送合并分支操作到遠程倉庫
      • 合并分支默認在本地完成,合并后直接推送即可
        git push
image.png
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末包警,一起剝皮案震驚了整個濱河市撵摆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌害晦,老刑警劉巖特铝,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異壹瘟,居然都是意外死亡鲫剿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門稻轨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灵莲,“玉大人,你說我怎么就攤上這事殴俱≌常” “怎么了枚抵?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長明场。 經(jīng)常有香客問我俄精,道長,這世上最難降的妖魔是什么榕堰? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任竖慧,我火速辦了婚禮,結(jié)果婚禮上逆屡,老公的妹妹穿的比我還像新娘圾旨。我一直安慰自己,他們只是感情好魏蔗,可當我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布砍的。 她就那樣靜靜地躺著,像睡著了一般莺治。 火紅的嫁衣襯著肌膚如雪廓鞠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天谣旁,我揣著相機與錄音床佳,去河邊找鬼。 笑死榄审,一個胖子當著我的面吹牛砌们,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搁进,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼浪感,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了饼问?” 一聲冷哼從身側(cè)響起影兽,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎莱革,沒想到半個月后峻堰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡驮吱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年茧妒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片左冬。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡桐筏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拇砰,到底是詐尸還是另有隱情梅忌,我是刑警寧澤狰腌,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站牧氮,受9級特大地震影響琼腔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜踱葛,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一丹莲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尸诽,春花似錦甥材、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至商蕴,卻和暖如春叠萍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绪商。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工苛谷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人部宿。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓抄腔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親理张。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,871評論 2 354

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

  • Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照绵患,而是把代碼倉庫完整的鏡像下來雾叭。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 15,883評論 5 147
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/落蝙。)是一個開源的分布式版本控制系統(tǒng)织狐,...
    君惜丶閱讀 3,517評論 0 13
  • git 指南 git操作 本地操作 git add <file>暫存工作區(qū)的修改到暫存區(qū) git commit將暫...
    IrisZL閱讀 583評論 0 0
  • 在web項目開發(fā)中,經(jīng)常遇到需要加載大量的圖片筏勒,為了?提高用戶體驗移迫,我們可以使用預加載技術把圖片預先加載到瀏覽器中...
    馬大哈tt閱讀 920評論 0 5
  • 堅持分享第518天( 原創(chuàng)總第686天 2018年10月22日 星期一) 今天很激動厨埋,我們一群正能量滿滿的...
    紅云_楊柳清風閱讀 509評論 0 0