Git的初步學習

程式設計師哆啦A夢發表於2020-11-04

標題圖

前言

感謝! 承蒙關照~

Git的初步學習

為什麼要用GitGithub呢?它們的出現是為了用於提交專案和儲存專案的,是一種很方便的專案管理軟體和網址地址.

效果

接下來看看,一家公司的基本流程圖:

效果

集中式->分散式->託管網站

之前專案管理的日子:

效果

專案開發,版本控制系統.

-v1.0 -> 檔案 -v1.1 -> 檔案

本地版本控制系統

效果

慢慢地有了專案管理系統加入,集中式的控制系統:

集中化的版本控制系統

(Centralized Version Control Systems,簡稱 CVCS)

效果

效果

分散式版本控制系統

Distributed Version Control System,簡稱 DVCS

效果

效果

Git的特點:

效果

Git的功能:

效果

Git簡介:

Git是一個偉大的創新,到 2002 年,專案組開始啟用一個專有的分散式版本控制系統 BitKeeper管理和維護程式碼。

版本控制系統,就是一個名詞而已吧,Git 是為了方便人們而發明的,當我們每次寫完程式碼時,提交到 Github 上時,我們會記錄下提交說明,簡述該程式碼寫了什麼內容,做了哪些更改,能夠方便記錄,在 Github 上回記錄你程式碼的增刪情況,就可以瞭解你每次做了什麼,改過什麼,很方便也對他人瞭解你的操作行為。

當你進行結對操作專案時,你的夥伴能通過了解提交說明了解你的行為操作。

Git的三種狀態,為已提交(committed)、已修改(modified)和已暫存(staged

已經提交表示資料已經安全的儲存在本地資料庫中,已經修改表示修改了檔案,但是沒有儲存到資料庫中,要進行提交,已暫存表示對一個修改的檔案進行標記,然後提交時,包含在其中.

我們先下載Git,安裝GitGit下載網站為: https://git-scm.com/downloads

Git官方文件地址: https://git-scm.com/book/zh/v2 https://git-scm.com/download/mac https://git-scm.com/download/win

Windows 上安裝

效果

$ tar -zxf git-2.0.0.tar.gz $ cd git-2.0.0 $ make configure $ ./configure --prefix=/usr $ make all doc info $ sudo make install install-doc install-html install-info

使用Git來升級:

$ git clone git://git.kernel.org/pub/scm/git/git.git

建議使用這個網址安裝:

http://git-scm.com/download/win

我們在用Git的時候,有三個工作區域的概念:

  1. Git倉庫
  2. 工作目錄
  3. 暫存區域

Git倉庫是用來儲存專案檔案的地方,工作目錄是對專案的某個版本獨立提取出來的內容,暫存區域是一個檔案,儲存了下次將要提交的檔案資訊.

效果

效果

小圖示:

效果

設定賬號:

如何設定賬號,首先你要去 github 網站上進行註冊,擁有自己的賬號先:

開啟你下載好的 GIT,“Git Bash” 軟體

$ git config --global user.name "your_name" $ git config --global user.name "your_email@example.com"

做好配置user.nameuser.email.

Git獲取幫助

獲取Git命令手冊:

$ git help <verb> $ git <verb> --help $ man git-<verb>

獲取config命令手冊:

$ git help config

git config 的工具來幫助設定控制 Git 外觀和行為的配置變數:

/etc/gitconfig 檔案: 包含系統上每一個使用者及他們倉庫的通用配置 ~/.gitconfig 或 ~/.config/git/config 檔案:只針對當前使用者 .git/config:針對該倉庫

建立版本庫

右鍵滑鼠點選Git Bash

$ git init url

然後新增檔案,使用命令git add <file>,接著使用git commit -m "資訊介紹",就大功告成了!

檢視配置

``` 可以使用 git config --list // 顯示配置 // 列出所有 Git 當時能找到的配置 git config --list [--local | --global | --system]

local:區域本倉庫 global: 當前使用者的所有倉庫 system: 本系統的所有使用者

git config --local 只對某個倉庫有效 git config --global 對所有使用者的倉庫有效 git config --system 對系統所有登入的使用者有效

git config --list --global git config --list --system git config --list --local

// git config --get --get-all --get-regexp --get-urlmatch --replace-all --add --unset --unset-all --rename-section --remove-section --list or --l --edit or --e --get-color --get-colorbool ```

一些 Git 操作

建立版本庫:

mkdir repository cd repository

通過使用 Git bash git init 命令把該目錄變成 Git 可以管理的倉庫,就是可以放程式碼的目錄了,好像糧倉一樣,很爽!!!

git add text git commit -m "imformation"

``` git status 檢視倉庫狀態(告訴你有檔案被修改過) git diff 檢視修改過的內容 git status 提交後檢視狀態

// 版本和命令歷史 git log 檢視提交歷史 git reflog 檢視命令歷史

// 刪除檔案 $ git rm $ git commit -m "資訊"

// 誤刪 $ git checkout -- 返回原檔案

// 撤消操作-漏掉了幾個檔案沒有新增,或者提交資訊寫錯了-將暫存區中的檔案提交 $ git commit --amend

$ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend

// 打標籤 $ git tag v0.1 v1.3 ```

建立Git倉庫

$ cd 專案程式碼所在目錄下的資料夾 $ git init

手把手教你如何把專案或程式碼提交到Github託管

從遠端庫克隆, 啟動 Git Bash 命令列

首先開啟你的github,點選新建專案,點選new repositories ,然後直接給專案命名就好了.

克隆倉庫的命令格式是 git clone [url]

$git clone git@.....git

開啟命令列,輸入下方: 複製地址就是:https://github.com/…./Test.git

點選這裡複製連結即可:

效果

// 輸入 // 目錄下初始化一個 .git 資料夾 $ git clone https://github.com/… $ cd test 前提下你得把你的專案複製放進test路徑下。 $ git add . $ git commit -m “changes log” $ git push origin master

注意如果每次修改完成後,如果沒有使用add新增的命令,那麼修改的程式碼會在暫存區中,而直接使用commit的話,是不會看到修改後的程式碼所在的.

總結:

mkdir 為建立資料夾 mkdir images 資料夾名為images

工作目錄->暫存區->版本歷史

git add files 為從工作目錄中修改的程式碼放入暫存區 git commit 為從暫存區中修改的程式碼提交,變為版本歷史 li -al 遍歷檔案 git add -u 修改的檔案一起提交 git reset --hard 清除暫存區和工作區 // 重新命名檔案 git mv index index.md git status

$ git status 先檢視 $ git add index.html images 新增暫存區檔案,可以多個檔名 $ git status 檢視是否提交

說明

效果

如何看版本歷史

git log // 按提交時間列出所有的更新 // 使用不同於預設格式的方式展示提交歷史 $ git log --pretty=oneline git log --online // 非常簡潔,有什麼歷史 // 簡略的統計資訊 $ git log --stat // -2 僅顯示最近兩次提交 $ git log -p -2 git log -n4 --online 看最近的歷史訊息 git branch -v 看本地有多少分支 git checkout -b dashu 223343232 // 分支 , 修改分支 // ls -al // git commit -am'test' bit branch -av git log --oneline --all // 分支所有呈現

圖形介面工具gitk

輸入:

效果

gitk

都可以進行了解學習

效果

效果

檢視.git目錄

ls -al // 列出列表 .git cd .git ls -al cat .git // 檢視檔案

commit每次的變更,treeblob

blob指具體的某個檔案,blob跟檔名沒關係,gitblob檔案內容相同就是一個東西.大樹包小樹,到檔案.

commit-> tree parent author ...

命令:

``` git cat-file -p 23452324 tree 23434323 parent author committer

git cat-file -p 23434323 tree blob 2324335 blob tree

git cat-file -p 2324335 ```

一個commit由多少個treeblob

一個commit,兩個tree和一個blob,和一個commit.

``` commit tree parent author

tree tree doc tree blob readme

blob hello ```

文件: https://git-scm.com/book/zh/v2

  1. 建立或者克隆一個倉庫
  2. 更改、暫存並提交

達叔小生:往後餘生,唯獨有你 You and me, we are family ! 90後帥氣小夥,良好的開發習慣;獨立思考的能力;主動並且善於溝通 簡書部落格: 達叔小生 https://www.jianshu.com/u/c785ece603d1

結語

  • 下面我將繼續對 其他知識 深入講解 ,有興趣可以繼續關注
  • 小禮物走一走 or 點贊

相關文章