git-基礎操做

git init 初始化目錄

git  add 將文件添加到緩存區

git commit -m 從緩存提交到版本庫

git status  查看當前版本的狀態

git log  從當前位置以前查看提交記錄

git reflog 查看提交記錄

git reset --hard zhi  回滾到指定的版本

git checkout -- filename  撤銷

git branch dev  建立分支

git checkout dev 切換分支

git checkout -b dev 建立並切換分支

git branch -d dev 刪除分支

git  merge dev 合併分支

git branch 查看分支

git diff 工做區和緩存區的文件對比

git diff --cached  緩存區和版本庫之間的文件的對比

git reset HEAD  從緩存區將文件拉出來

git stash 

git stash list  查看stash的列表

git stash pop 恢復當前的stash狀態並刪除

git stash apply 恢復當前的狀態

git stash drop  刪除stash
View Code

 

 

1、Git簡介

  Git 是一個開源的分佈式版本控制軟件,用以有效、高速的處理從很小到很是大的項目版本管理。 Git 最初是由Linus Torvalds設計開發的,用於管理Linux內核開發。Git 是根據GNU通用公共許可證版本2的條款分發的自由/免費軟件,官網:http://git-scm.com/。html

  Git是目前世界上最早進的分佈式版本控制系統(沒有之一)。python

  GitHub是一個基於Git的遠程文件託管平臺(同GitCafe、BitBucket和GitLab等)。linux

  Git自己徹底能夠作到版本控制,但其全部內容以及版本記錄只能保存在本機,若是想要將文件內容以及版本記錄同時保存在遠程,則須要結合GitHub來使用。使用場景:git

    - 無GitHub:在本地 .git 文件夾內維護歷時文件;github

    - 有GitHub:在本地 .git 文件夾內維護歷時文件,同時也將歷史文件託管在遠程倉庫;vim

  集中式和分佈式:緩存

    - 集中式:遠程服務器保存全部版本,用戶客戶端有某個版本bash

    - 分佈式:遠程服務器保存全部版本,用戶客戶端有全部版本服務器

一、安裝Git

  Git下載地址:https://git-scm.com/downloadsapp

  1)下載安裝包,以下圖:

  2)雙擊安裝應用程序,如下是安裝過程當中須要注意的幾步:

  3)點擊下一步,以下圖:

  4)點擊下一步,以下圖:  

  5)點擊下一步,以下圖:

  6)點擊下一步,以下圖:

  7)點擊下一步,以下圖:

  8)點擊安裝,以下圖:

  9)安裝完成後,「開始」菜單會新增一個Git文件夾,以下圖:

  10)點擊「Git Bash」(Git Bash是一個黑屏終端,仿linux的窗口,可以使用linux命令),以下圖:

2、配置Git

一、配置Git用戶名和郵箱

  打開Git Bash終端,按照以下命令配置用戶名和郵箱,注意,沒有提示表示配置成功。

  配置用戶名:$ git config --global user.name "你本身GitHub的用戶名"

  配置郵箱:$ git config --global user.email "你本身GitHub的郵箱"

二、時光穿梭機(建立本地版本庫,並使用命令管理版本)

  什麼是版本庫?

  版本庫又名倉庫,能夠理解成一個目錄,這個目錄裏面的全部文件均可以被Git管理起來,每一個文件的修改、刪除,Git都能跟蹤,以便任什麼時候刻都有一個追蹤歷史,或者在未來某個時刻能夠還原。

  建立版本庫並使用命令管理版本:

  1)在一個合適的地方建立一個空目錄,好比wllgit;

  2)在終端中使用cd命令進入剛建立的空目錄(將文件夾拖入終端可快速輸入文件夾目錄),以下:

  3)使用git init命令把這個目錄變成Git能夠管理的倉庫

  4)把文件添加到版本庫(本地倉庫)

    在上面建立的目錄中建立一個文件(如demo.py),內容爲print("hello world!")

    把文件添加到倉庫,命令爲:$ git add domo.py

    把文件提交到倉庫,命令爲:$ git commit -m "這裏寫註釋"

    至此,咱們已經在電腦上建好了本地倉庫wllgit目錄,接下來學習如何使用倉庫管理版本。

  5)git status

    該命令可讓咱們時刻掌握倉庫當前狀態,以下圖:

  6)git diff
    該命令能夠查看修改內容,以下圖:

    當本地和倉庫文件內容不一致時,將文件再次提交便可,以下圖:

 

  7)git log或者git log --pretty=oneline(顯示從最近到最遠的提交日誌)

    以上步驟主要是將不一樣版本文件提交到倉庫,而且記錄每次提交日誌,接下來學習如何回退到以前的版本。

  8)版本回退

1
2
3
4
$ git reset  - - hard HEAD^
$ git reset  - - hard HEAD^^
$ git reset  - - hard HEAD~ 100
$ git reset  - - hard 具體版本號

    HEAD至關於一個指針,指向當前版本,以下圖:

  9)git reflog

    該命令記錄每一次的命令,以下圖:

  10)git checkout -- filename

    若是文件filename已經被放到暫存區(執行git add filename,但未執行commit)後,又作了修改,此時,執行此撤銷命令,就會回到添加至暫存區的狀態。
    若是文件filename自修改後尚未被放到暫存區(執行git add filename),此時,執行此撤銷命令,就會回到和版本庫如出一轍的狀態。

    總之,該命令就是讓文件filename回到最後一次git add或這git commit時的狀態。

  11)掌握了上述管理倉庫的操做,下面來了解相關概念,即工做區和版本庫。

    Git把管理的文件分爲了兩個區域四個狀態,以下圖:

    工做區:當前開發程序所在目錄稱爲工做區,即:工做開發都是在該目錄,該區域的文件會有狀態的變化且狀態由git自動檢測,若是程序中文件作任何操做(增、刪、改),文件狀態均會被檢測到,可使用【git status】命令查看。

    版本庫:工做區檢測到有文件發生變化,那麼意味着較上一個版本以後對程序進行了修改,修改完成以後,能夠當作下一版本進行提交,那麼就是執行【git add .】 將全部文件提交到暫存區,而後再執行【git commit -m '又一個版本'】提交到版本庫的分支便可,以後可使用【git log】命令查看版本記錄。

3、遠程倉庫

  GitHub是一個基於Git實現的代碼託管的平臺,能夠將內容以及版本記錄在遠程也保存一份,這樣就不用U盤來回拷了。PS: 相似GitHub的產品還有許多,如:GitLab、Bitbucket、碼雲等。

  簡而言之,就是將咱們的代碼放在GitHub的服務器上,這樣,不論在哪裏,只要有網,就能夠將遠程倉庫(GitHub上)的代碼拉取下來,寫完代碼再同步上去。接下來介紹如何配置遠程倉庫。

一、配置基於GitHub實現代碼託管的步驟

  1)註冊GitHub

  2)建立ssh key

    打開Git bash黑屏終端,輸入命令 ssh-keygen -t rsa -C "GitHub中綁定的郵箱"

    查看公鑰內容,以下圖:

    在GitHub(我的中心 -> Settings ->SSH and GPG keys)中添加公有密鑰,以下圖:

    填寫完成後以下圖:

    測試密鑰是否經過,在Git Bash的黑終端輸入命令  ssh -T git@github.com

    測試經過後,再看github中的ssh是綠色鑰匙,以下圖:

  3)建立遠程倉庫

    點擊新建倉庫按鈕,以下圖:

    填寫倉庫信息,以下圖:

 

    建立完成後以下圖:

  4)使電腦關聯遠程倉庫

    複製GitHub中的SSH地址,以下圖:

    在電腦的Git Bash終端輸入命令 git remote add origin  遠程倉庫SSH地址

    刪除關聯命令(知道便可,此處沒必要執行)是 git remote rm origin

    推送本地庫內容到遠程庫命令 git push origin master

    拉取遠程庫內容到本地庫命令 git pull origin master

    注意:由於本篇先是創建了本地庫wllgit目錄,而且使用git init命令產生了.git文件,而後又將此本地庫關聯了遠程倉庫,所以,本庫庫和遠程倉庫是兩個版本,所以要先執行拉取遠程庫的命令,且加上容許版本不一致的參數,即 git pull origin master  --allow-unrelated-histories

    注意,執行命令後會進入一個vim的模式,使用你掌握的linux命令退出編輯便可!

    執行成功後,本地倉庫會多了一個README.md文件,以下:

    拉取完成後再執行推送的命令,以下:

    執行命令後,遠程倉庫中就與本地倉庫文件一致,以下:

    此時,你就能夠在電腦上對文件進行修改,而後再執行如下命令推送到遠程倉庫:

1
2
3
git add filename                     將修改文件添加到暫存區
git commit  - "修改內容註釋"          將暫存區內容提交到本地倉庫
git push origin master              將本地倉庫內容推送到遠程倉庫

  5)實際開發中使用Git的步驟

    上面創建本地倉庫,使用git init只是爲了演示本地倉庫配置,實際開發中,是應該先有遠程倉庫,再把遠程倉庫克隆到本地,克隆時就會自動生成管理本地倉庫的隱藏文件.git。

    假設已經在GitHub上創建是遠程倉庫,如今電腦上沒有本地倉庫,咱們須要將遠程倉庫內容克隆到本地,進入到合適的目錄執行克隆命令  git clone  遠程倉庫SSH地址 

    命令執行後,會在當前執行命令的目錄下產生一個文件夾,其中包含遠程倉庫的文件內容,且還有一個隱藏文件.git,以下圖:

    此時,你就能夠在電腦上對文件進行修改,而後再執行如下命令推送到遠程倉庫:

1
2
3
git add filename                     將修改文件添加到暫存區
git commit  - "修改內容註釋"          將暫存區內容提交到本地倉庫
git push origin master              將本地倉庫內容推送到遠程倉庫

    注意:若是項目中有.gitignore文件時,.gitignore文件中定義的文件夾不會被推送到遠程倉庫中。

 

 

 


很是好的參考

王麗麗

相關文章
相關標籤/搜索