Git

@TOC

Install Git in Ubuntu

  • Debian or Ubuntu Linux,sudo apt-get install git
  • Set you user name and user email
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

*Note: 注意git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。

創建版本庫

  • 初始化一個Git倉庫,使用git init命令。
  • 添加文件到Git倉庫,分兩步:
    - 1. 使用命令git add <file>,注意,可反覆多次使用,添加多個文件;
    - 2. 使用命令git commit -m <message>,完成。

時光機穿梭

  • 要隨時掌握工作區的狀態,使用git status命令。
  • 如果git status告訴你有文件被修改過,用git diff可以查看修改內容。

版本回退

  • HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id
  • 穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
  • 要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。

工作區和暫存區

  • 工作區(Working Directory)
    就是你在電腦裏能看到的目錄,比如我的learngit文件夾就是一個工作區:

working-dir

  • 版本庫(Repository)
    工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。

    Git的版本庫裏存了很多東西,其中最重要的就是稱爲stage(或者叫index)的暫存區,還有Git爲我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD
    在這裏插入圖片描述

分支和HEAD的概念我們以後再講。

前面講了我們把文件往Git版本庫裏添加的時候,是分兩步執行的:

  • 第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區;

  • 第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。

因爲我們創建Git版本庫時,Git自動爲我們創建了唯一一個master分支,所以,現在,git commit就是往master分支上提交更改。

你可以簡單理解爲,需要提交的文件修改通通放到暫存區,然後,一次性提交暫存區的所有修改。

撤銷修改

又到了小結時間。

場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout -- file

場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD <file>,就回到了場景1,第二步按場景1操作。

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫。

刪除文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章