git學習系列(一)---- git的基礎知識

最近在學習git,對git也有了新的認識,寫一些總結,文章基本總結於 Pro Gitcss

本章主要介紹一些git的基本知識,後續繼續跟進。git

初次運行 Git 前的配置

git 自帶一個 git config 的工具來幫助設置控制 git 外觀和行爲的配置變量。這些變量存儲在三個不一樣的位置:數據庫

  1. /etc/gitconfig 文件: 包含系統上每個用戶及他們倉庫的通用配置。 若是使用帶有 --system 選項的 git config 時,它會今後文件讀寫配置變量。
  2. ~/.gitconfig 或 ~/.config/git/config 文件:只針對當前用戶。 能夠傳遞 --global 選項讓 Git 讀寫此文件。
  3. 當前使用倉庫的 Git 目錄中的 config 文件(就是 .git/config):針對該倉庫。

例如:安全

git config --global user.name "yourname" // 設置用戶名
git config --global alias.co checkout // 設置快捷鍵

注: 每個級別覆蓋上一級別的配置,git config --list 列出全部 Git配置工具

git 基礎

直接記錄快照,而非差別比較學習

git 更像是把數據看做是對小型文件系統的一組快照。 每次你提交更新,或在 git 中保存項目狀態時,它主要對當時的所有文件製做一個快照並保存這個快照的索引。 爲了高效,若是文件沒有修改,git 再也不從新存儲該文件,而是隻保留一個連接指向以前存儲的文件。 git 對待數據更像是一個 快照流url

clipboard.png

三種狀態spa

git 有三種狀態,你的文件可能處於其中之一:3d

已提交(committed)數據已經安全的保存在本地數據庫中
已修改(modified)修改了文件,但還沒保存到數據庫中
已暫存(staged)對一個已修改文件的當前版本作了標記,使之包含在下次提交的快照中

三個工做區域的概念:code

git倉庫:保存項目的元數據和對象數據庫的地方 
工做目錄:對項目的某個版本獨立提取出來的內容。這些從 git 倉庫的壓縮數據庫中提取出來的文件,放在磁盤上供你使用或修改。
暫存區域:是一個文件,保存了下次將提交的文件列表信息,通常在git倉庫目錄中

clipboard.png

git 工做流程:

1. 在工做目錄中修改文件。
2. 暫存文件,將文件的快照放入暫存區域。
3. 提交更新,找到暫存區域的文件,將快照永久性存儲到 git 倉庫目錄

git基本操做

在現有目錄中初始化倉庫

git init

克隆現有的倉庫

git clone [url]

文件狀態

git status

文件狀態切換:
新建README(Untracked) => git add README(staged) => git commit(unmodified)

clipboard.png

狀態簡覽

git status -s

clipboard.png

??  新添加的未跟蹤文件
A 新添加到暫存區中的文件
M 修改過的文件 : 出如今靠左邊的 M 表示該文件被修改了並放入了暫存區; 出如今右邊的 M 表示該文件被修改了可是還沒放入暫存區;

跳過使用暫存區域

git commit -a -m ""

移除文件

從 git 中移除某個文件 git rm

移動文件

git mv file_from file_to

查看提交歷史

git log

clipboard.png

注:後續許多操做都會基於log來進行

取消暫存的文件

暫存區域  git reset HEAD <file>

注: 雖然在調用時加上 --hard 選項能夠令 git reset 成爲一個危險的命令(譯註:可能致使工做目錄中全部當前進度丟失!),但本例中工做目錄內的文件並不會被修改。 不加選項地調用 git reset 並不危險 — 它只會修改暫存區域。

撤消對文件的修改

git checkout -- <file>

本期就先寫這麼多,下一期會寫關於分支的知識,敬請期待

相關文章
相關標籤/搜索