使用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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...