1. 程式人生 > >理解、總結及菜鳥(本人)入門

理解、總結及菜鳥(本人)入門

git是一個非常給力的版本控制工具。我理解的版本控制是指對專案開發的各個階段的控制,比如說專案Release版本其實就是專案開發成熟後的穩定版本。(怎麼辦,我好像自己看這句話也不太懂TnT)
在之前的小打小鬧的開發過程中,如果我想對某個專案進行修改,可是不確定修改是否有效時,我會拷貝一份專案儲存,然後對副本進行開發修改,這樣子有幾個缺點:1、將原始碼、各項資原始檔以及依賴的庫全部儲存有時候專案太大會佔額外空間;2、拷貝後路徑通常會改變,這樣還得重新設定包含路徑,庫目錄;3、有時候所做的修改沒辦法記錄,自己也就無法清晰、高效的控制專案開發程序,解決方法就變成了每個副本資料夾各種名字,如:“pro_改了*

”(當然開發過程中會盡量避免中文路徑,此處僅供理解),諸如種種。
而git可以很有效的解決上述問題:1、git儲存各個版本是儲存其修改資訊,即“添加了*”等等,這樣避免了佔用額外空間以及無法記錄修改的問題;2、git不同分支(分支概念稍後講述)是工作在同一工作目錄下,所以不存在重新設定路徑等問題。

閒話不提,這裡寫一下 git 基本操作,說一下自己對 git 使用的理解。
首先,需要下載安裝git本地工具,具體不表,網上有很多教程。以下是基本操作:
1、在需要建立git倉庫的路徑右鍵點選 Git base Here
2、輸入 git init //這一步是建立本地倉庫,可以理解倉庫是一個管理所有版本的一個容器
建立本地倉庫後,輸入 ls -a 命令,如果可以看到 .git 資料夾,即說明git 本地倉庫建立成功,而當前路徑即為閣下的工作目錄
3、輸入 git add //這裡是將需要進行版本控制的檔案加入倉庫,這樣git才可以管理加入檔案的版本,看到網上有人提到使這些檔案被 git 跟蹤,以便之後的記錄修改等
輸入 git add . //最後還有個 點 ,一個點表示當前路徑,這句命令是把當前路徑下的檔案全部加入本地倉庫
4、輸入 git commit -m “註釋“ //這句命令是將修改提交到本地倉庫

以上是簡單的本地操作,本地,劃重點

好了,大家對倉庫之類的概念有所瞭解 包括我 0.0,接下來分享一下如何版本控制(簡單的操作,如有大神,歡迎指正)

  1. 建立倉庫後會有一條預設主分支:master
  2. 輸入 git branch new_branch //新建名為 new_branch 的分支,new_branch 的內容完全拷貝於 master 分支
  3. 輸入 git checkout new_branch //選擇 new_branch 分支,這樣操作後你的開發將會在 new_branch 分支上進行, 就是說修改檔案對 master 分支無影響
    //這兩步可以合為一步,輸入 git checkout -b new_branch ,新建並選擇 new_branch 分支
  4. 如果暫時有事,需要對 master 分支修改

    1. 先進行上述 git commit -m ” . ” 操作提交 new_branch 分支的修改
      //這裡可以用 git status 檢視該分支各檔案的狀態,如果有修改未提交、或者有新增檔案均會有高亮顯示
    2. 輸入 git checkout master 選擇 master 分支,這時 第一:工作目錄下的檔案會轉成你之前提交 master 分支時的狀態;第二:對工作目錄下的檔案修改就是對 master 分支進行操作,不影響 new_branch 分支。
      //個人認為,git 就是基於此實現了版本控制

接下來是將本地倉庫推送(push)到遠端倉庫:(這裡需要先在 GitHub 、GitLab 等等之類的專案託管平臺建立遠端倉庫,進行SSH配置,自己也不太熟悉,就不誤人子弟了,各位依舊是找網上各路大神吧~~~)

  1. 輸入 git remote add origin [email protected]< url >
    //URL 可以從託管平臺得到,以GitHub為例:
    //點選GitHub 平臺的 倉庫 ,就到了該介面,然後點選 “Clone or download”
    這裡寫圖片描述
    所以我輸入 git remote add origin [email protected]https://github.com/GlLamant/Chid.git
    18/2/5更:這樣寫在push 的時候提示” I don’t handle protocol ‘[email protected]’ “,說明這樣的寫法是錯誤的,我改成” git remote add origin http://github.com/GlLamant/Chid.git ” 錯誤解決。
    另:如果提示 ” remote origin already exists “,輸入”git remote rm origin ” 刪除已關聯的錯誤遠端倉庫,然後執行以上操作重新關聯。

    還有其他寫法,具體直接網上搜“關聯遠端倉庫”,好多幹貨
    
  2. 輸入 git push -u origin msater ,將本地倉庫推送(push)到遠端倉庫
    //push 成功後, 重新整理 GitHub,可以看到遠端倉庫下多出來了你剛剛push 的檔案
    //-u 引數在網上看見有人說首次push 加,之後可以不加,我還沒搞清楚,大家注意一下

最後記一下下載或者說克隆遠端專案到本地:(同樣需要SSH配置)

  1. git clone < url >
  2. 如果想克隆遠端倉庫特定的分支克隆:git clone -b < branch_name > < remote_repository_address >
    //branch_name :遠端分支名稱
    //remote_repository_address :遠端倉庫地址,即URL
    找到一個很詳細的講解

所獲所得僅此,僅作拋磚引玉;歡迎指點,祝各位學習順利。

20180207更:常用 Git 命令清單
先貼一張圖
這裡寫圖片描述

個人感覺寫的賊棒!!!

20180209更:在版本控制切換不同版本時,切記需要先git add . ,然後提交 git commit ,若不然,所有的修改仍保留在工作區以內,即使checkout到其他分支,開啟檔案,仍是上一個版本的修改內容,此時再進行git add . 和 git commit 的操作反而極易修改覆蓋當前版本內容,舉例說明:我有A,B兩個分支,A是master分支,我在B分支工作,然後突然有事需要對A分支修改,我必須先在B分支下git add . 以及git commit 。

20180314更:公司伺服器換了IP,直接就懵了,遠端倉庫啊,以下是更換遠端倉庫連結命令:

git remote set-url origin <url>

這裡有兩個“url”,第一個時和set一起直接敲url就好,是命令引數,而括號裡的是現在遠端倉庫的url地址,例如我的命令是:

//我把IP稍微的修飾了一下,反正就是git地址
git remote set-url origin http://127.0.0.1/guol/guol.git

ok,這時候再輸入 git remote -v 就會發現遠端倉庫連結已經更換了,接下來的操作就是 git add . | git commit -m “*” | git push origin master 了,具體參照本文。

相關推薦

理解總結本人入門

git是一個非常給力的版本控制工具。我理解的版本控制是指對專案開發的各個階段的控制,比如說專案Release版本其實就是專案開發成熟後的穩定版本。(怎麼辦,我好像自己看這句話也不太懂TnT) 在之前的小打小鬧的開發過程中,如果我想對某個專案進行修改,可是不確定

Socket請求和Http請求的各自特點區別適用場景

網絡協議 strong 將不 控制 應用 如何 傳輸安全 socket實現 訪問協議 http://blog.csdn.net/hexinli/article/details/50500316 Socket實現服務器與客戶端之間的物理連接,並進行數據傳輸。主要有TCP/U

RxJava 2.x 教程原始碼揭祕入門理解基本操作符

目錄 前言 Rxjava的介紹 Rxjava的優勢 Rxjava是觀察者模式 Rxjava是裝飾者模式 Observable Rxjava的操作符 subScribeOn與observeOn切換執行緒 其他操作符 補充 前言   &nbs

postgresql從入門libpq連線postgres資料庫

上一期講了一些如何通過jdbc連線postgresql資料庫,這一期準備說一說如何通過libpq連線postgresql資料庫。 上一期的jdbc是postgresql的java語言應用程式介面,這一期的libpq對應的是postgresql的C語言應用程式介面。 這裡依舊分為三個模

postgresql從入門JDBC連線postgresql資料庫

之前都是通過psql命令進行資料庫的操作,從這一期開始準備寫一些如何通過LIBPQ,JDBC,ODBC等方式來postgresql並進行相關的操作,這一期準備先說說JDBC。 這裡分為三個模組來講: 一.獲取連線 二.執行select語句 三.執行insert,delete,u

postgresql從入門pl/pgsql過程語言

之前介紹了一些postgresql資料庫的配置,以及視窗函式的使用。 這一次準備說一些pl/pgsql過程語言方面的東西。 pl/pgsql主要的功能是對sql進行擴充套件,讓sql可以實現,邏輯判斷,迴圈等功能。 首先說說優點,我個人理解使用過程語言最大的優點就是減少了客戶

postgresql從入門基本命令和視窗函式

上一篇我們已經在rhel上建立了資料庫,並且建立的一張成績表。之後通過通過客戶端連線上伺服器端。 這一篇將會寫一些關於資料庫的操作,首先是一些基本的操作的操作如選擇資料庫,查看錶等等。 連線至伺服器端後可以通過以下命令檢視資料庫的基本資訊 \l:檢視所有資料庫。 \c:選擇資料庫

postgresql從入門服務端配置和psql連線

上一篇文章我們已經成功在rehel上安裝了postgrel資料庫。 關於window環境下的安裝,可以直接下載install檔案,進行雙擊安裝,或者通過編譯原始碼的方式安裝。 本篇文章將介紹postgresql資料的基本配置,以及客戶端與伺服器端的連線。 先看伺服器端 當我們通過

postgresql從入門通過編譯方式安裝postgresql

最近工作需要用到postgresql資料庫,學習過程中發現網上的資料並不是很多。在這裡把學習的過程以及學習過程中的問題分享出來,希望能對需要剛才開始學習postgresql的人有所幫助。   (一)安裝篇 安裝安裝環境為:rehel虛擬機器。 安裝方式:原始碼安裝。

前端經典面試題a++和++a 總結自我解答1

1. 如果 a=1 ;  b = a++ + (a++) + 1 + (++a)  + (a++)  + (++a) + a + (++a) = ?  並且這時候a =? 解答: 先說 a =?  首先求a , 有一個極簡單的方法,個人總結啊:

信用風險理論模型應用研究綜述

作者:李興法  國內外研究歷史和現狀 一、國外研究 (一)均值一方差理論綜述。 Harry Markowitz(1952)引入了均值一方差框架用以科學計量風險與收益問題,從而為風險的定量研究建立了數學基礎。Fiseher Black和Myron Seholes(1973)推

整理:卷積的直觀理解物理意義與本質

那片雲:看了後有很大的收穫,開始主文及回覆均非常精彩。對理解卷積的數學物理意義很有幫助。 下面說一下我的理解: 1.卷積是求累積值,就是某一時刻的反應,是多個反應的疊加值。 2.既然如一,就有

百度地圖介面呼叫問題總結解決辦法待續...

百度地圖介面呼叫錯誤聚集地,每次遇到錯誤都會記錄下來,希望經常使用百度地圖介面的夥伴們一起來交流。 - “status”:2,”message”:”Parameter Invalid” http://api.map.baidu.com/pla

整理:卷積的直觀理解物理意義與本質

卷積 最近總是和卷積打交道,工作需要,每天都要碰到它好幾次,不勝煩惱,因為在大學時候學訊號與系統的時候就沒學會,我於是心想一定要把卷積完全搞明白。正好同辦公室的同學也問我什麼是卷積,師姐昨天也告訴我說

玩轉Unity資源物件序列化

如果在Unity編輯器處於關閉狀態時丟失.meta檔案,或資原始檔被移動但沒有移動對應的.meta檔案時,所有對資原始檔中的Object的引用都會丟失 複合資源和匯入器 正如前面第一節[深入理解資源與物件]中所說的一樣,不能被Unity直接支援的資源型別必須經過匯入才可以使用——使用資源匯入器來完成

整理:卷積的直觀理解物理意義與本質

資料探勘中有時需要卷積這一數學工具(例如計算個體適應度、物件間距離,以及干預效果等等),昨天又有同學問到相關問題,借用最近在網上的滾燙的詞彙集 { 輻射,服碘,補鹽,空襲 },對卷積做了一個直觀的解

【原創】軟體架構技術發展歷程總結思考 1of2待續

軟體架構技術的發展歷程總結及思考1of2(待續) 駱金鬆 1   軟體架構技術產生的背景 1.1     軟體危機的出現     20 世紀60年代以前,計算機剛剛投入實際使用,軟體設計往往只是為了一個特定的應用而在指定的計算機上設計和編制,採用密切依賴於計算機的機器程式碼或

Mysql5.7以上版本的MySQL下載安裝配置教程附圖

打開 water windows 輸入 ont src nbsp iter 電腦 對版本的說明 之所以說是MySQL5.7及以上版本,是因為從MySQL5.7版本之後,其安全機制有所改變。在安裝完成後,登陸MySQL時,需要輸入一個密碼,這個密碼其實是在配置MySQL

Apache Flink:特性概念元件棧架構原理分析

Apache Flink是一個面向分散式資料流處理和批量資料處理的開源計算平臺,它能夠基於同一個Flink執行時(Flink Ru

學習爬蟲框架WebMagic---入門案例

一、WebMagic簡介   參見網上其他介紹。 二、新增依賴 <!-- webmagic 核心包 --> <dependency> <groupId>us.codecraft</groupId> <artif