Git與Github的學(xué)習(xí)總結(jié)

1. Git

1.1 Git的簡(jiǎn)介

git是一種分布式的版本控制軟件。

1.2 git的初始化操作

  1. 進(jìn)入要管理的目錄
  2. git init:初始化,讓git幫助管理當(dāng)前文件夾
  3. git status:檢測(cè)目錄下文件的狀態(tài)
  4. 三種狀態(tài)的變化
    • 紅色:新增或者被修改的文件,git add 文件來添加
    • 綠色:git已經(jīng)管理起來了,git commit -m '提交的描述'
    • 生成版本
  • ps:第一次使用時(shí),生成版本之前需要個(gè)人信息的配置:用戶名、郵箱

    git config --global user.email "staick@163.com"
    git config --global user.name "staick"
    
  • git的三大區(qū)域

1.3 git的回滾

git log #1.先利用該命令查看各版本的校驗(yàn)值
git reset --hard 版本校驗(yàn)值  #2.使用該命令回滾到校驗(yàn)值所對(duì)應(yīng)的版本  
git reflog  #該命令可以查看完整的版本目錄
git reset Head 文件名  #暫存區(qū)->已管
git checkout -- 文件名 #已管->未管
  • 新版本只保留修改的部分,未修改的用指針指向上一個(gè)版本

1.4 分支

  • 分支的應(yīng)用:bug的緊急修復(fù)

  • 分支的操作

    git branch    #分支表、目前所處分支
    git branch 分支名    #創(chuàng)建分支
    git checkout 分支名  #切換分支
    git merge 分支名 #合并分支,合并時(shí)應(yīng)該注意切換分支
    git branch -d 分支名 #刪除分支
    
  • ps:分支的合并操作可能出現(xiàn)沖突,解決方法是根據(jù)提示,手動(dòng)修改

1.5 git工作流

2. Github

2.1 git 配合github的基本操作

  • git -> github

    1. 給遠(yuǎn)程倉(cāng)庫起別名:git remote add 別名 倉(cāng)庫地址
    2. 向遠(yuǎn)程推送代碼:git push -u 別名 分支
  • github -> git

    1. git clone 遠(yuǎn)程倉(cāng)庫地址(內(nèi)部已實(shí)現(xiàn)git remote add origin 倉(cāng)庫地址)
    2. 切換分支:git checkout 分支
  • ps:如果再dev上開發(fā),要先合并master

    git merge mster
    
  • 更新一下

    git pull origin dev
    

2.2 多地開發(fā)的實(shí)現(xiàn)

  1. 在家里上傳代碼

    1. 給遠(yuǎn)程庫起別名

      git remote add origin 遠(yuǎn)程倉(cāng)庫地址  #其中origin為別名
      
    2. 向遠(yuǎn)程推送源代碼

      git push -u origin 分支
      
  2. 到公司新電腦上第一次獲取代碼

    1. 克隆遠(yuǎn)程倉(cāng)庫代碼

      git clone 遠(yuǎn)程倉(cāng)庫地址  #內(nèi)部已實(shí)現(xiàn)git remote add origin 遠(yuǎn)程倉(cāng)庫地址的操作
      
    2. 切換分支

      git checkout 分支
      
  3. 在公司開發(fā)

    1. 切換到dev分支進(jìn)行開發(fā)

      git checkout dev
      
    2. 把master分支合并到dev(僅一次)

      git merge master
      
    3. 修改代碼

    4. 提交代碼

      git add
      git commit -m '描述'
      git push origin dev
      
  4. 回到家中繼續(xù)寫代碼

    1. 切換到dev分支進(jìn)行開發(fā)

      git checkout dev
      
    2. 拉代碼

      git pull origin dev
      
    3. 繼續(xù)開發(fā)

    4. 提交代碼

  5. 開發(fā)完畢,上線

    1. 將dev分支合并到master,進(jìn)行上線

      git checkout master
      git merge dev
      git push origin master
      
    2. 把dev分支也推送到遠(yuǎn)程

      git checkout dev
      git merge master
      git push origin dev
      
  • ps:git pull origin dev等同于

    git fetch origin dev  #拉到本地
    git merge origin/dev
    

2.3 rebase(變基):使git記錄簡(jiǎn)潔

  1. 第一種:多個(gè)記錄整合成一個(gè)

    git rebase -i 版本號(hào)    #現(xiàn)在的版本號(hào)與給的版本號(hào)之間進(jìn)行合并
    git rebase -i HEAD~3 #最近三條合并
    
    • 注意:合并記錄時(shí),不要和已提交push合并。
  2. 第二種:僅記錄為一條線,將C3插入到線中

    git checkout dev
    git rebase master
    git checkout master
    git merge dev
    
    • 關(guān)于log顯示

      git log --graph    #可顯示流程線
      git log --graph --pretty=format:"%h %s"    #按哈希值 說明顯示
      
  3. 第三種:防止產(chǎn)生分叉

    git pull origin dev
    git fetch origin dev
    git rebase origin/dev
    
  • git rebase產(chǎn)生沖突時(shí),先解決沖突,再git rebase --continue

2.4 多人開發(fā)

2.5 添加標(biāo)簽

  • 可以用標(biāo)簽替代版本哈希值

    git tag -a v1 -m "第一版"
    git push origin --tags
    
  • git checkout -b dev   #創(chuàng)建并切換到dev分支
    

2.6 給開源項(xiàng)目貢獻(xiàn)代碼

  1. fork源代碼:將別人源代碼拷貝到自己的遠(yuǎn)程庫
  2. 在自己倉(cāng)庫進(jìn)行代碼修改
  3. 給源代碼的作者提交修改申請(qǐng)(pull request)

2.7 git配置

  1. 項(xiàng)目配置文件:項(xiàng)目/.git/config

    git config --local
    
  2. 全局配置文件:~/.gitconfig

    git config --global
    
  3. 系統(tǒng)配置文件:/etc/.gitconfig

    git config --system  #該命令需要root權(quán)限
    

2.8 免密登錄

  1. URL中實(shí)現(xiàn)

    原來的地址:https://github.com/xx

    現(xiàn)在的地址:https://用戶名:密碼@github.com/xx

  2. SSH實(shí)現(xiàn)

    1. 生成公鑰和私鑰(放在~/.ssh下,id.rsa.pub為公鑰,id.rsa為私鑰)

      ssh -keygen
      
    2. 拷貝公鑰內(nèi)容,并設(shè)置到github中

    3. 在git本地配置ssh地址

      git remote add origin git@github.com
      
  3. git自動(dòng)管理驗(yàn)證

2.9 git忽略文件

  • git忽略文件可以讓git部管理某些文件

  • 創(chuàng)建.gitignore文件,并在其中添加需要忽略的文件名

2.10 任務(wù)管理相關(guān)

  1. issues:文檔以及任務(wù)管理
  2. wiki:項(xiàng)目文檔
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 這篇博文是自己在學(xué)習(xí)git過程中的思考總結(jié)。本文僅僅代表個(gè)人的看法,如有不妥地方還請(qǐng)本文文末留言。 ?? 原文鏈接g...
    Ming_Hu閱讀 1,269評(píng)論 4 18
  • 一、Git學(xué)習(xí)總結(jié)的命名 初始化一個(gè)Git倉(cāng)庫。 添加文件到Git倉(cāng)庫步驟分兩步:使用命令git add <fil...
    Cheriez閱讀 502評(píng)論 0 1
  • git 使用筆記 git原理: 文件(blob)對(duì)象,樹(tree)對(duì)象,提交(commit)對(duì)象 tree對(duì)象 ...
    神刀閱讀 3,848評(píng)論 0 10
  • 轉(zhuǎn)自:https://mp.weixin.qq.com/s/sF-cx2ss4haO74K55Sjf9g 配置 首...
    faremax閱讀 322評(píng)論 0 0
  • 三大區(qū)域: 工作區(qū) → 緩存區(qū) → 本地倉(cāng)庫 一 、 使用 git config 命令進(jìn)行配置: git ...
    Manchangdx閱讀 2,948評(píng)論 0 2

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