使用Git版本控制工具管理GitHub

来源:https://www.cnblogs.com/lyuweigh/archive/2018/10/09/72bed6d687a129f0dcfee65a6554d84a.html
-Advertisement-
Play Games

使用Git版本控制工具管理GitHu Git是一個分步式的管理系統:只要上傳操作得當,所有的都可以相當於是中央伺服器,成員代碼共用,A寫的代碼B也有,一般把一個人當做主機,其他人通過該主機拼裝代碼並克隆到自己的電腦上; 這樣即使是主機涼了,其他人也都會有各自的本地代碼,都不會涼; Svn是一個集中式 ...


 

使用Git版本控制工具管理GitHu

  1. Git是一個分步式的管理系統:只要上傳操作得當,所有的都可以相當於是中央伺服器,成員代碼共用,A寫的代碼B也有,一般把一個人當做主機,其他人通過該主機拼裝代碼並克隆到自己的電腦上;

    這樣即使是主機涼了,其他人也都會有各自的本地代碼,都不會涼;

  2. Svn是一個集中式的管理系統:所有人將各自的模塊代碼上傳到中央伺服器中進行拼裝,當伺服器涼了所有沒有本地代碼的人就都涼了;

 


一.配置Git

  • 下一步下一步,註意可以設置為notepad修改;

  • 安裝完成後,先去電腦中查看是否有SSH秘鑰,這個秘鑰擁有互聯網唯一性

    • 進入C:\User\lyuweigh\.ssh中查看,有沒有"id_rsa",和"id_rsa_pub"

    • 如果沒有,則需要創建秘鑰:

      ssh-keygen -t rsa -C "[email protected]","[email protected]"
    • 然後在輸入:

      //文件保存在本地.git/config中
      $ git config --global user.name "Your Name"
      $ git config --global user.email "[email protected]"

 


二.設置GitHub

  • 創建一個賬號,進入設置











 

  • 然後選擇New SSH Key 將本地User/lyuweigh/.ssh/id_rsa_pub 內容複製進去,加一個標題 保存
  • 然後在git中就可以進行pull 和 push 操作了

 


三.基本操作命令

  1. 提交被修改過的文件的方法到.git倉庫

    git add xxxx.xxx //提交指定文件
    git add.//提交所有文件
  2. 提交是不行的,還需要對這次 提交|修改 進行說明

    git commit -m 'xxxxxxx'
    // -m 後面輸入的是提醒備註的文本,最好詳細
  3. 查看倉庫狀態命令

    git status
    //如果有的文件提交到本地倉庫,則會顯示為紅色,如果沒有對提交的文件進行簽名,會顯示為綠色
    //如果顯示為紅色,自行提交, 如果顯示為綠色,對操作進行簽名
  4. 版本回退

    • 使用git log 命令進行查看提交的版本迭代信息

      git log
      //如果輸出的信息太多,加上--pretty=oneline ,會將顯示信息減少,增加可讀性
    • 使用回退代碼

      //根據每次commit代碼時的簽名來指定git本地倉庫回退到的具體版本
      git reset --hard^
      //這裡的'^'符號代表跳過的次數,出現一次就是跳回到上一個版本

      當從v3.0退回到v2.0的時候,原來版本的代碼還在,只是使用git log是無法顯示出v3.0的簽名的

      使用 git reflog

       1 git reflog
       2 //用來顯示歷史所有成功執行的命令每一次的命令
       3 
       4 //以下是顯示代碼, 第一條是最近的代碼,我回退了版本1, 剩下的是提交過的簽名
       5 
       6 $ git reflog
       7 ed3bf60 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
       8 2afd461 (origin/master, origin/HEAD) HEAD@{1}: commit: 免罪目錄
       9 ed3bf60 (HEAD -> master) HEAD@{2}: commit: add xmind uml
      10 451af7b HEAD@{3}: commit: 修改了
      11 b9188e0 HEAD@{4}: commit: 修改簽名
      12 9f9d110 HEAD@{5}: clone: from https://github.com/lyuweigh/First.git
      13 //既然知道了上衣次版本號'免罪目錄'的hash值是 "2afd461", 那麼就可以通過版本回退命令來修改版本
      14 git reset 2afd461
      15 //這裡的 "哈希值" 可以簡略寫, 只寫前面幾個

       

      git的版本控制是指針設計方式

 


四.Git原理

最外圍的區域是工作區

.git 文件夾中有暫存區 (Stage)主分支區(Header)

  1. java Git add xxx 命令將文件提交到stage(暫存區)中;

  2. Git commit -m xxx 命令將文件提交到 Header(主分支)中

  3. 不管是訪問他人內容 , 還是自己的內容被訪問, 所請求的資源都是Header中的資源


五.撤回工作區的修改:

git checkout -- file
//file是想要被改回的文件名
//丟棄工作區的修改, 回到當前版本庫的狀態
  1. 撤回暫存區的修改
git reset hard <file>
//file是想要被改回的文件名
//丟棄暫存區的修改
  1. 只要沒有提交到遠程庫中,那就是可以修改的, 就算提交到了遠程庫中,大不了pull下載改一下在push上去,因為有 版本庫 指針的存在 所以非特殊情況不會造成代碼丟失

  2. 刪除文件

    • 刪除噹噹前版本庫中的內容:

      git rm <file>
      //由於是屬於修改了當前工作區的文件,操作樹就不為空了,需要手動提交該操作的簽名
      git commit -m '刪除了xxxx'
      

 


六.分支區(Header)

每一個本地庫都是一個分支(.git),將代碼先commit到自己的當前分支上,隨時都可以添加,並且速度快(本地傳輸),
敲一天代碼,這一天內可以隨意的將代碼添加到本地分支中,並且有版本庫的存在不用擔心提交;
本地代碼弄好後,將本地分支代碼提交到遠程倉庫中,(為了防止衝突問題,要先將伺服器中的代碼pull(拉回)到本
分支上,再將本分支push(推出)到遠程伺服器中)

 

 

觀自廖雪峰 

 

 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • UDPserver.py UDPclient.py UDP套接字模型 UDP不需要構成連接,直接發送即可 服務端模型: s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) s.bind(('',25555)) data,c_addr = s.rec ...
  • 在這篇博客中,用一個小慄子來介紹一下散點圖在多變數數據中的一方面應用。 scikit庫中提供了一些數據,這裡使用iris數據集,是一種鳶尾屬植物,所給數據中包括兩種類型的花,目的是根據所給信息判斷兩種花分別屬於哪一類。也就是說找到區分這兩種花的方法。 載入庫 導入數據 首先看一下這個數據集中都有什麼 ...
  • 開始學python 交互MySQLdb,踩了很多坑第一個%d format: a number is required, not str參照以下博客:https://blog.csdn.net/u011878172/article/details/72599120# -*- coding: utf-... ...
  • 網路編程 getaddrinfo 函數 解析網址,返回IP地址。 例子: "github源代碼" c/c++ 學習互助QQ群:877684253 本人微信:xiaoshitou5854 ...
  • ## Profile 配置 Profile 是 Spring 用來針對不同的環境對不同的配置提供支持的,全局的 Profile 配置使用 `application-{profile}.properties` (如 `application-prod.properties`) 通過在 `applica... ...
  • 前段時間寫了個自動打卡的腳本,但是腳本不夠完善,我需要知道,打卡到底成沒成功,因此,我想到了用Python執行完代碼之後,再執行一段發送郵件的代碼。需求開始明確了,就開始分析和寫代碼實現吧。 ...
  • 筆記: ...
  • url傳遞過程中加號變空格 在接收url參數的過程中,會發現如果參數中存在‘+’號,接收後會變成空格。 如11+22接收後變成11 22。 要解決這個問題,需要將加號替換為%2B進行傳遞。 如11%2B22接收後變成11+22。 這種問題經常出現在字元串加密傳遞的過程中,這時就需要加密後把所有加號替 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...