1. 程式人生 > >docker學習筆記(八)——git常用操作

docker學習筆記(八)——git常用操作

1 什麼是Git

Git是一個開源的分散式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。
GitHub官網註冊:https://github.com/
Git客戶端安裝:yum install –y git

自行註冊github的賬號,安裝好git後就可以開始我們本次的學習之旅啦!

2 Git常用命令

登入自己的github賬號,點選首頁的New repository進行倉庫的建立
這裡寫圖片描述
輸入倉庫名及描述,選擇Public,完成建立
這裡寫圖片描述
然後我們在安裝好git的機器上建立github/linsuren目錄並進入

mkdir -p github/linsuren
cd github/linsuren/

這裡寫圖片描述
在該目錄下建立README.md檔案,這是一個說明檔案,支援markdown語法

touch README.md
vi README.md

然後寫入以下內容

# linsuren repository
for linsuren test

2.1 git init

這個時候還只是一個普通的資料夾,沒有和git產生關聯,下面我們就要進行git初始化

git init

這裡寫圖片描述
可以看到,該目錄下多了一個.git的隱藏資料夾,初始化成功。

2.2 git status

這裡寫圖片描述
可以看到我們當前位於master分支,README.md檔案還未被跟蹤,git status是個很常用的操作,可以檢視當前專案的狀態,後面會經常使用到。

2.3 git add

下面我們對README.md檔案進行提交,並再次檢視狀態

git add README.md
git status

這裡寫圖片描述
可以看到,我們進行了初始提交,將README.md存放到了暫存區,這個時候服務端只知道有一個被跟蹤的檔案,但是具體是什麼內容還不知道,需要我們將它提交到上去。

2.4 git commit

git commit README.md -m'增加初始化檔案'

執行上面命令進行本地提交,-m 是添加註釋的意思
這裡寫圖片描述
這個很容易理解,因為我們沒有登陸,所以git並不知道我們以後要將檔案推送到誰的github上,我們可以通過自己github的郵箱和使用者名稱來設定和github的連線

git config --global user.email [email protected]
git config --global user.name linsen0731

這裡寫圖片描述
commit成功,注意此時只是在本地提交成功,遠端的github上並沒沒有我們剛才提交的檔案。

2.5 git log

執行此命令可以檢視提交歷史,我們每次提交都會產生一條記錄,包括一個唯一的commit id、提交人、提交時間等資訊
這裡寫圖片描述
通過log我們可以很方便的看出整個程式碼版本變化的情況

2.6 git remote add origin

進行了本地提交,下面就是如何將本地的檔案關聯到我們的github上,執行以下命令新建一個遠端倉庫

git remote add origin https://github.com/linsen0731/linsuren.git

需要將linsen0731替換為你github的使用者名稱,linsuren替換為前文中你自己在github上建立的倉庫名字

至此,本地和遠端成功關聯

2.7 git push

這一步就可以實現本地到遠端的推送,執行

git push -u origin master

這裡寫圖片描述
此過程需要輸入github的賬號密碼,同步成功,檢視github上的變化
這裡寫圖片描述
驗證成功

2.8 git pull

和push相對的,就是pull了,意思是將遠端倉庫的程式碼拉取到本地。假設有這樣一個場景,我和旺財都需要對剛才push上去的檔案進行操作,在我push上去之後,旺財直接在遠端增加了一些程式碼
這裡寫圖片描述
接著我們在本地把修改的程式碼同步過來

git status
git pull

這裡寫圖片描述

2.9 git diff HEAD

與同步前對比變更

2.10 git diff –staged

檢視當前更改變更

關於git diff內容比較多,在此不做太詳細,具體請參考網上相應文章

2.11 git reset

這個時候我覺得旺財加的這一句沒毛線用,於是把我是旺財,這一行是我新增的,哈哈哈哈這行刪掉,然後再檢視下狀態
這裡寫圖片描述
可以看到,檔案已經被修改,但是git還不知道,執行git add README.md命令將檔案放進暫存區,再次檢視狀態
這裡寫圖片描述
檔案變更git已經知道了,但是我還沒有進行提交,然而就在我剛打算提交的時候,旺財發現了,他不讓我提交,說就要保留那句話,我說好吧,那就留著吧,這個時候就要把檔案撤出暫存區

git reset HEAD README.md

這裡寫圖片描述
檔案已經撤出了暫存區但是旺財還是不願意啊,他讓我一定要在本地把那句話加回來。

2.12 git checkout

這個時候就可以使用這條命令用github端的程式碼覆蓋本地檔案

git checkout README.md

這裡寫圖片描述
嗯,這句話終於又回來了,和遠端保持了一致,看到這裡,旺財心滿意足地走了

2.13 git branch

既然旺財不讓我改,那我就新建一個分支好了

git branch feature1

這裡寫圖片描述
建立分支成功,關於分支的概念需要大家好好理解。

2.14 git checkout

git checkout feature1

這裡寫圖片描述
成功切換到feature1分支

2.15 git branch -d

git checkout master
git branch -d feature1

這裡寫圖片描述
注意要先切換回master才能刪除feature1分支

關於git的常用命令就介紹這些,建議大家多加練習,以免以後在正式開發環境下做出一些不可恢復的操作。

相關推薦

docker學習筆記——git常用操作

1 什麼是Git Git是一個開源的分散式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。 GitHub官網註冊:https:/

Docker學習筆記Storage driver

Storage driver Docker使用storage driver(儲存驅動程式)來管理image和container的資料,不管是image的只讀layer還是container的可寫layer都基於這些storage driver的特點來設計實現。目前支援的storage dri

Git與GitHub學習筆記git如何同時同步提交到碼雲和GitHub上

前言:今天github push程式碼一直push不上去,打算就備份一份程式碼帶國內開原始碼雲上。Github容易出現的情況是:國內訪問速度比較慢,如果被牆掉的話,就直接沒發使用了如果開源個PHP的專案,想把擴充套件檔案目錄vender一併上傳上去,這樣子下載的時候使用git

docker學習筆記——Docker常用命令總結

docker學習筆記 docker常用命令總結 1. 開啟/停止/重啟container(start/stop/restart)容器可以通過run新建一個來運行,也可以重新start已經停止的container,但start不能夠再指定容器啟動時運行的指令,因為docker只能有一個前臺進程。容器st

docker學習筆記——映象的常用操作

上一篇文章介紹了docker在centos中的安裝過程及核心概念講解,這一篇我們主要講解映象的常用操作。 1. 獲取映象 命令: docker pull <域名>/<namespace>/<repo>:<tag&g

docker 學習筆記1--常用命令

ner 命令 所有 刪除 新的 containe docke 運行 拷貝 docker pull---- 獲取image(鏡像)docker build---- 創建image(鏡像)docker images ----查詢所有的image(鏡像)docker run---

Docker學習筆記2-- Docker常用命令

1. 檢視docker資訊(version、info) # 檢視docker版本   $docker version   # 顯示docker系統的資訊   $docker info   2. 對image的操作(search、pull、images、rmi、h

Docker學習筆記--docker部署配置及常用指令介紹

Docker部署安裝 ubuntu:apt-get install docker centos:yum install docker 設定開機啟動Docker Daemon程序 systemctl start docker.service syst

機器學習筆記非線性變換

nbsp 線性 logs 等於 線性模型 images http 自己 空間 一、非線性問題 對於線性不可分的數據資料,用線性模型分類,Ein會很大,相應的Ein=Eout的情況下,Eout也會很大,導致模型表現不好,此時應用非線性模型進行分類,例如: 分類器模型是一個圓

匯編入門學習筆記 —— 轉移指令

無條件轉移 fse ear tom 內存 star space off 編譯器 瘋狂的暑假學習之 匯編入門學習筆記 (八)—— 轉移指令 參考: 《匯編語言》 王爽 第9章 能夠改動ip或者同一時候改動cs和ip的指令統稱

Git學習筆記 --- --- git的安裝及本地倉庫的創建,github上倉庫的連接方式

由於 分布式版本控制 是我 控制系統 路徑 一行代碼 信息 控制 fff 首先了解git的作用是什麽,本地倉庫,中央倉庫都是幹什麽的? Git是分布式版本控制系統,同一個Git倉庫,可以分布到不同的機器上。實際情況往往是這樣,找一臺電腦充當服務器的角色,每天24小時開機,其

流暢的python和cookbook學習筆記

不可變 pri 列表 改變 如果 book 影響 color print 1.函數的默認參數必須不可變   如果函數的默認參數為可變的對象,那麽默認參數在函數外被修改也會影響到函數本身的。 >>> def spam(a, b=None): # b要為不

Python學習筆記

base 函數式編程 輸出 必須 返回 叠代 use map 作用 一、變量可以指向一個函數   a = abs 二、通過調用指向函數的變量可以執行該函數   a = abs  a(-10) 三、指向函數的變量可以作為參數傳遞給一個函數   def add(x,y,f): 

EF學習筆記:更新關聯數據

tro rop es2017 net sage red ida string entity 學習筆記主目錄鏈接:ASP.NET MVC5 及 EF6 學習筆記 - (目錄整理) 上一篇鏈接:EF學習筆記(七):讀取關聯數據 本篇原文鏈接:Updating Related D

python學習筆記面向對象擴展

archive ive 解釋 alt bound take src pri 執行 原鏈:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html 筆記:今天的內容感覺自己理解不太容易 1 #昨天學習定義m

java學習筆記:繼承

this關鍵字 log implement java學習 方式 show 使用 類型 多繼承 繼承 子類擁有父類非private的屬性,方法。 子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。 子類可以用自己的方式實現父類的方法。 Java的繼承

Java框架spring Boot學習筆記:Spring相關概念

擴展 靜態 輕量級 想要 spring配置 核心 使用 oot 調用方法 Spring是開源、輕量級、一站式框架。 Spring核心主要兩部分 aop:面向切面編程,擴展功能不是修改源代碼實現 ioc:控制反轉,比如一個類,在類裏面有方法(不是靜態的方法),想要調用類

Ionic3學習筆記使iOS端、Android端 Navbar 透明化

href 添加 down nic ionic navbar str div 學習 本文為原創文章,轉載請標明出處 若要使iOS端 Navbar 透明,只需要給 ion-navbar 添加 transparent 屬性,但是Android端依舊會有一條border在,所以再給

python學習筆記之運算符

技術 ima 學習 表達式 water nag proc 說明 ddc python學習筆記(八)之運算符 算術運算符 比較運算符 邏輯運算符(1)布爾運算(2)復雜的布爾表達式 說明:以上內容摘自《跟老齊學python》python學習筆記(八)之運算符

【大話存儲】學習筆記,數據保護

clip 調度員 系統管 區域 工具 管理軟件 安裝 inf 利用 第一章 數據保護 所謂數據保護是指對當前位置上的數據進行備份,不一定是實時的。這樣帶來的好處是如果發生磁盤損壞或者說被修改了,可以通過備份數據找回 1.1 文件級備份 文件級備份:將磁盤上所有文件通過調用文