1. 程式人生 > >Git是什麼鬼,適合小白觀看~

Git是什麼鬼,適合小白觀看~

      首先我是上來就開始用Git,然後同事跑我這裡一頓命令,視窗從哪裡開啟的都不知道,操作完問題解決就走了,what?我完全沒看懂他在做什麼,下一次無論我要克隆專案還是提交我還是不會,於是同事又過來一頓弄,最後還是沒看懂~最後就想說學東西最好是系統的去學習,由淺到深,無論是別人說出表面的東西還是更深的東西,都需要自己首先對Git有些掌握才能聽得懂,否則這一塊那一塊的最終還是不會懂~所以就花了幾個小時的時間學習並簡單總結以下。

//什麼是版本庫

     版本庫又名倉庫(repository),可以簡單理解成一個目錄(存放好多版本的目錄),目錄裡所有檔案都被Git管理起來,每個檔案的修改,刪除,Git都會跟蹤,以便任何時候都可以追蹤歷史或者在將來某一時刻可以還原,說到這你可能還不是Git到底是什麼鬼,我簡單理解就是我們所做的專案經常進行修改等操作,導致專案有很多版本,Git就是對這些版本進行控制處理的系統工具,還不懂也正常,繼續往下看吧---->


以上圖片來自https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

      圖片中工作區裡面有一個隱藏目錄 .git,其中包括stage暫存區和git自動建立的第一個分支master以及指向master的指標

叫HEAD,git add把檔案新增進去,實際上就是新增到暫存區,git commit提交更改,實際上把暫存區的所有內容提交到分支

每次修改如何不add到暫存區,就不會加入到commit中,就不會被提交到版本庫


//SVN,VSN和Git的對比:

  1 SVN集中式的版本控制系統,必須聯網才能工作,版本庫存放在中央伺服器,像一個圖書館,要想改一本書,必須先從圖書館借出來,改完再放回圖書館

2 Git分散式的版本控制系統,沒有中央伺服器,每個人電腦裡都有一個版本庫,但是分散式版本控制系統通常有一臺充當"中央伺服器"的電腦,用來方便大家的修改。

3 Git強大的分支管理,遠遠超過SVN


//常用命令

1 檢視使用者名稱和郵箱地址

$ git config user.name

$ git config user.email 


2 分散式版本控制系統,需要每個機器配置名字和email地址

$ git config ——global user.name "your name"

$ git config ——global user.email "[email protected]"



3 其他常用命令

$ git init 初始化一個git倉庫

$ git status 檢視倉庫狀態(例如是否有修改後待提交的檔案或者版本改變)

$ git diff 檢視difference  


//新增檔案到Git倉庫,分兩步:

$ git add <file> 新增到本地檔案(反覆多次使用,新增多個檔案)或者理解成新增到暫存區

$ git commit 提交到本地版本庫(可以一次提交多個)完成


//版本回退

在git中用HEAD來表示版本上一次是HEAD^,上上一次HEAD^,上100個HEAD~100。323234yrgehf43..是commit id版本號,如果都用1,2,3作為版本號,會衝突,所以使用SHA1計算出來非常大的數字,用十六進位制表示

//穿梭回以前 

$ git log 檢視最近到最遠的提交日誌歷史,方便確定回退到哪個版本

//因為多人在同一版本庫裡工作

$ git reset ——hard commit_id 重置到指定版本號版

//從以前回到現在

$ git reflog 檢視命令,已確定回到未來哪個版本


//三種情況小結

情況1 當亂改了工作區某個檔案的內容,還新增到了暫存區,用$ git checkout ——file該行命令撤回修改
情況2 當亂改了工作區又新增到了暫存區,想丟棄修改分兩步,第一步用git reset HEAD file回到情況1,然後再執行情況1
情況3 工作區修改->新增到暫存區->提交到本地版本庫,那麼則進行版本回退

總結

以上所有都是自己一些簡單的總結和理解,如果看不懂可以參考以下地址有詳細系統的講解:

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

相關推薦

Git是什麼適合觀看~

      首先我是上來就開始用Git,然後同事跑我這裡一頓命令,視窗從哪裡開啟的都不知道,操作完問題解決就走了,what?我完全沒看懂他在做什麼,下一次無論我要克隆專案還是提交我還是不會,於是同事又過來一頓弄,最後還是沒看懂~最後就想說學東西最好是系統的去學習,由淺到深,

項目實戰!爬取5萬篇好奇心日報文章適合練手的實戰案例!

microsoft 找到 用戶數 clas 復制 parse span 入門知識 soup Python的知識很多,基本的入門就有很多東西要學,還有各種合樣的庫要學習。很多同學學了一段時間,進展很慢,學了前面忘了後面!要麽就是揠苗助長找一些特別難的例子,結果太難了,失去信心

spring註解方式使用jax-ws配置webservice適合。看不會你打死我!

前提條件:java –spring框架,註解(能夠掃描@webService標籤) 1.   經過一天的煎熬和掙扎,終於把webservice的其中非常簡單的配置方法給弄明白了,就是JAX-WS配置webservice,真的非常簡單,只是細節一一旦出了點問題,全盤皆輸,為了

如何快速的搭建一個maven+springmvc的專案適合易懂進來看看

第2步: 第3步: 第4步: 建立完成之後點選專案右鍵選擇java EE Tools 選擇第二個建立web.xml 第5步: 開啟pom.xml進行新增依賴 <!-- 統一版本號 --> <properties>

sql常用語句整理(包括增刪改查)適合使用

SELECT * FROM Persons WHERE ROWNUM <= 2;  7、LIKE 操作符、SQL 萬用字元(1)從"Persons" 表中選取居住在以 "N" 開始的城市裡的人:SELECT * FROM Persons WHERE City LIKE'N%';  (2)從"Person

Unity 釋出成android包的環境搭建步驟(詳細適合)

一: JDK環境的安裝和配置 1 下載與安裝JDK         注意:unity 4.x對應使用1.7版本,unity 5.x對應使用1.8版本。   1.1 搜尋引擎輸入JDK1.8,如下圖:     1.2 點開第一個,往下拉,如下圖:    1.3

eclipse+sdk+adk安卓開發環境部署(全程詳解適合

寫給第一次想在自己Windows上建立eclipse的Android開發環境的朋友們,為了確保大家能順利完成開發環境的搭建,希望對準備進入Android開發的朋友有幫助。 我們知道eclipse+sdk+adk有很多版本的選擇,為了方便剛接觸的朋友 首先我介紹本人的套裝:

git常用操作-適合

常用操作 com 版本號 一個 查看 mit nbsp fig 暫存 1. 初始化:git init [option<文件名>] 2. 連接遠端:git remote add <變量名remote name> <url> (可以用gi

適合入門python的書籍進來瞄一眼吧!

近一兩年Python這門程式語言,關注量一直都是很高,今天小編給大家聊一下學習Python語言可以發展哪些方向,以及Python語言在未來的發展前景。 首先:Python語言在學術上非常受歡迎,不是計算機專業的人,很多都在學習Python。因為這個語言的前景是不可限量的,而且他的語法非常的簡單易

適合的 Hadoop 叢集配置搭建非常詳細

準備工作: 1。VMware Workstation 14 中安裝虛擬機器 ,版本為 CentOS7(我搭建的叢集為三臺,安裝一臺克隆兩臺,這裡不做解釋,可自行百度) 2。JDK1.8 ,下載地址為 https://pan.baidu.com/s/15Y

適合的大白話講解--->Git與Github的區別

本文旨在使用通俗易懂的文字,講解版本控制背後的理論,以便你能對程式設計師們如何工作有個全域性概念。本文不涉及程式碼,不用下載啥東西,循序漸進,不關注繁複細節,只有文字和一些不怎麼漂亮的手繪塗鴉。 寫本文的動機 學習任何東西都能在網路上找到如此之多的指導教程,

適合的暴力求子集方法 瞭解一下?

前言  最近在上C++課的時候老師留了一道課後作業,求n個數字的全部子集,比如說輸入6就列印{1, 2, 3, 4,5, 6}的全部子集。  當時我腦中第一反應就是用遞迴列舉隨便打一打啊,不過後來有位同學問我思路,突然不知所措,因為我們當時才講了基本資料型別和while、if

netgear 網件R6250路由 從OpenWrt或者DD-WRT系統恢復到默認系統 適合

openwrt恢復原廠固件 原文在這個連接,適合R6250。我順便把步驟詳細化,免得下次有小白遇到這個問題,耽誤太多的時間。 http://www.right.com.cn/forum/thread-155203-1-1.html 1.下載相關的固件 Version 1.0.0.62全名:R6250-V1.0

我的代碼倉庫GitHub(適合

AR 網址 config www. conf add AI org 網頁 一、GitHub使用教程 註冊GitHub , 網址:https://github.com ,不會的請參考網上的其他教程。 下載GitHub ,網址:https://gitforwindows.

適合用的css幾種睡在中間(居中)的方式!!!

HTML css css3. javascript 初學者 平常小白最討厭的事情就是css為什麽沒有辦法居中,現在小狐貍為大家整理幾種方式,請廣大人民群眾笑納!!! 吐舌頭 1水平居中1.1 內聯元素水平居中利用 text-align: center 可以實現在塊級元素內部的內聯元素水平居

適合用的css幾種睡在中間的方式!!!

css html h5 js 平常小白最討厭的事情就是css為什麽沒有辦法居中,現在小狐貍為大家整理幾種方式,請廣大人民群眾笑納!!! 吐舌頭 1水平居中 1.1 內聯元素水平居中 利用 text-align: center 可以實現在塊級元素內部的內聯元素水平居中。此方法對內聯元素(inli

5個python爬蟲教材也有爬蟲可寫含視頻教程!

但是 認識 了解 web開發 徹底 幫助 回復 增強 兩個 認識爬蟲 網絡爬蟲,如果互聯網是一張蜘蛛網,網絡爬蟲既是一個在此網上爬行的蜘蛛,爬了多少路程即獲取到多少數據。 python寫爬蟲的優勢 其實以上功能很多語言和工具都能做,但是用python爬取的速度更快

免費公開課-6月27日晚20點Java到大牛之路

發的 路線圖 內容 優惠 RM 關東升 專題 ++ tex 講師主頁:http://edu.51cto.com/lecturer/701759.html【關東升老師】一個在IT領域摸爬滾打20多年的老程序員、培訓師、作者。移動開發專家,軟件架構師,高級培訓講師,IT作家。參

vue mock(模擬後臺數據) 最簡單實例——適合

not out 小白 jpg ack outer config 成功 前端 開發是前後端分離,不需要等待後臺開發。前端自己模擬數據,經本人測試成功。 我們在根目錄新建存放數據的json文件,存放我們的數據data.json //data.json{ "status"

最近一個項目需要使用vue作為記錄一下自己的學習歷程吧(項目之環境配置)

代理 切換 node tao 容易 分布式版本控制 sig 兩個文件 速度 一、環境準備 1.git 2.19.0(免費、開源的分布式版本控制系統)   下載地址:https://git-scm.com   查看git版本:安裝完成後,打開命令提示符輸入 git