日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git——从入门到精通

發布時間:2023/12/29 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git——从入门到精通 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • git使用教程
    • 準備知識
      • 版本控制
      • Linux基礎命令
    • 基本理論
    • 克隆項目至本地
    • git相關配置
      • 修改提交時的用戶名名稱
      • 修改遠程倉庫地址
    • 遠端操作
      • 添加遠程倉庫
      • 移除遠程倉庫
    • 文件操作
      • 查看文件狀態
      • 更新文件
      • 添加所有文件到暫存區
      • 提交暫存區文件
      • 上傳到遠端
      • 比較差異
    • 查看日志
    • 版本回退
    • 配置SSH公鑰
    • 分支
    • 常見錯誤及解決
      • 1.fatal: unable to access ‘https://github.com/…’: OpenSSL SSL_read: Connection was reset, errno 10054
      • 2.fatal: The remote end hung up unexpectedly
      • 3.文件沖突
      • 4.Git bash Error: Could not fork child process: There are no available terminals (-1)

git使用教程

本教程僅記錄了學習狂神說git時的學習筆記與一些自己使用時的技巧,侵刪。
另外,歸根結底最全面的資料還是官方文檔,大家應該養成遇到難以解決的問題去官方文檔上查詢的習慣。(雖然我也沒有)

準備知識

版本控制

分類

  • 本地版本控制
  • 適合個人

  • 集中版本控制
  • 版本數據放在服務器上。

    缺點

    (1)存在服務器損壞風險

    (2)無分支

  • 分布式版本控制
  • (1)同步到每個用戶本地

    (2)可離線提交

    Linux基礎命令

    linux基本指令

    切勿在Linux上嘗試 rm -rf / 會格式化電腦

    基本理論

    工作區域

  • 工作目錄
  • 暫存區
  • 資源庫
  • git遠程倉庫
    • 工作區:本地存放項目文件代碼
    • 暫存區:臨時存放改動,其實為一個列表信息文件
    • 本地倉庫:存放文件變化數據
    • 遠程倉庫:github/gitee……

    克隆項目至本地

  • 在本地搭建一個倉庫
  • #初始化git init#克隆遠程倉庫git clone [url] #url:https://github.com/LancasterLiu/spider
  • 同步github的文件
  • git pull

    git相關配置

    配置環境變量只是為了可以隨時使用,但已存在于右鍵,無需配置,且已自動配置

  • 查看
    • 查看配置:git config -l
    • 查看系統配置:git config --system --list
    • 查看本地配置:git config --global --list
  • 修改配置(本質讀寫文件)
    • git config --global user.name “xxx”
    • git config --global user.email

    修改提交時的用戶名名稱

  • 命令行修改(如上)
  • git config --global user.name xxx

  • 直接修改.gitconfig文件
  • 修改遠程倉庫地址

  • 命令行修改
  • git remote set-url origin <url>

    或者

    git remote rm origin git remote add origin [url]
  • 直接修改config文件
  • 遠端操作

    添加遠程倉庫

    git remote add origin url

    移除遠程倉庫

    git remote remove origin

    文件操作

    文件4種狀態:

  • Untracked(未跟蹤):即在文件夾中,但不在git庫中。可通過git add .使狀態變為Staged
  • Unmodify(文件已入庫但未修改):可通過git rm使狀態變為Untracked即移除;或修改文件使狀態變為Modified
  • Modified(已修改):可通過git add .使狀態變為Staged;或可通過git checkout使狀態變為Unmodify,即還原原來文件
  • Staged(暫存):可通過git commit使修改同步到git庫,狀態變為Unmodify;或通過git reset HEAD filename取消暫存,狀態變為Modify
  • 查看文件狀態

    查看狀態

    #查看所有文件狀態 git status#查看指定文件狀態 git status "filename"

    更新文件

    git pull origin 遠端分支:本地分支

    添加所有文件到暫存區

    #添加所有文件到暫存區
    git add .

    提交暫存區文件

    #提交暫存區文件到git倉庫
    git commit -m “文件描述”

    上傳到遠端

    git push origin 本地分支:遠端分支

    上傳時忽略文件方法:

    在主目錄下創建.gitignore文件,可以控制不上傳哪些文件

    • 使用手冊
      • #為注釋
      • 可使用linux通配符
      • !代表例外規則,不被忽略
      • /路徑分隔符
    • 舉例
    #注釋*.txt #忽略所有txt文件!lib.txt #lib.txt除外/temp #不忽略tempmain/ #忽略main下所有文件main/*.txt #忽略main下所有txt文件

    比較差異

    可以比較尚未提交的文修改前后的差異

    git diff filename

    查看日志

    git log

    版本回退

    git回退到上個版本

    git reset --hard HEAD^

    回退到n次提交之前

    git reset --hard HEAD~n

    配置SSH公鑰

  • 生成公鑰文件
  • #直接在bash里面輸入ssh-keygen -t rsa
  • 復制.pub文件信息至gitee
  • 創建git遠程倉庫
  • 分支

    • 查詢
    #本地分支git branch#遠程分支git branch -r
    • 創建
    #仍停留在原分支git branch 分支名#切換到新分支git checkout -b 分支名
    • 常用分支命名
    分支命名說明
    主分支master主分支,所有提供給用戶使用的正式版本,都在這個主分支上發布
    開發分支dev開發分支,永遠是功能最新最全的分支
    功能分支feature新功能分支,某個功能點正在開發階段
    發布版本release發布定期要上線的功能
    修復分支bug修復線上代碼的 bug
    • 合并
    #合并指定分支到當前分支git merge 分支名
    • 刪除
    #本地git branch -d 分支名#遠程git branch -dr 分支名git push origin --delete 分支名
    • 切換
    git checkout 分支名

    常見錯誤及解決

    1.fatal: unable to access ‘https://github.com/…’: OpenSSL SSL_read: Connection was reset, errno 10054

    錯誤描述:

    fatal: unable to access ‘https://github.com/…’: OpenSSL SSL_read: Connection was reset, errno 10054

    產生原因

    一般是因為服務器的SSL證書沒有經過第三方機構的簽署

    解決方法

    git config --global http.sslVerify false

    2.fatal: The remote end hung up unexpectedly

    錯誤描述:

    remote: Enumerating objects: 19, done.
    remote: Counting objects: 100% (19/19), done.
    remote: Compressing objects: 100% (19/19), done.
    error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
    fatal: The remote end hung up unexpectedly

    產生原因

    git默認緩存大小不足

    解決方法

    git config --global http.postBuffer 20000000

    3.文件沖突

    錯誤描述:

    ! [rejected] main -> front (non-fast-forward)
    error: failed to push some refs to
    hint: Updates were rejected because a pushed branch tip is behind its remote
    hint: counterpart. Check out this branch and integrate the remote changes
    hint: (e.g. ‘git pull …’) before pushing again.
    hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details.

    產生原因

    文件沖突

    解決方法

    git stash git pull git stash pop stash@{0}

    或者強制更新

    git fetch --all git reset --hard origin/master

    注:reset有3種模式:
    soft:回退版本提交歷史,暫存區和工作區不變。
    mixed:回退版本提交歷史,暫存區文件與該版本一致,工作區不變。
    hard:回退版本提交歷史,暫存區和工作區文件與該版本一致。

    4.Git bash Error: Could not fork child process: There are no available terminals (-1)

    錯誤描述:

    Git bash Error: Could not fork child process: There are no available terminals (-1)

    產生原因

    打開的git-bash太多

    解決方法
    打開任務管理器關閉所有的git.exe

    總結

    以上是生活随笔為你收集整理的git——从入门到精通的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。