git版本認識及操_git

來源:互聯網
上載者:User
該文章以收錄: 《git探索之路》 目錄 git探索之路——常用命令總結 git探索之路——配置及基礎使用 git探索之路——版本認識及操作 git探索之路——分支與標籤 git探索之路——解決衝突與團隊合作 git探索之路——標籤管理 git探索之路——配置與自訂 前言

這一章我們繼續來探索git的使用,上一章我們已經介紹了如何利用git和遠程倉庫串連。 一、git的工作流程

說道git的工作流程,我們都只到git是分布式的版本控制工具,Git和svn的不同之處就是有暫存區的概念。我們先來瞭解以下概念:

工作區:就是你在電腦的目錄
版本庫:
版本庫中分為暫存區(工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫)
遠程倉庫(就是我們的遠程版本庫,如github、碼雲)

Git的版本庫裡存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動建立的第一個分支master,以及指向master的一個指標叫HEAD。
下面來讓我們根據廖雪峰老師的圖示看一下:

git add 操作的變化;

git commit 操作後的變化

看了這些圖片是不是對git的工作流程有了更深的認識 二、git的版本操作:

操作之前我們在我們的工作區建立一個mygit.txt檔案。

1.管理修改

我們在我們建立的mygit.txt檔案中添加一句 “my first git”
查看檔案中的內容我們可以執行命令:

$ cat mygit.txtmy first git

提交後我們可以使用 git diff HEAD -- mygit.txt 命令查看工作區和版本庫裡的最新區別

git diff 

2.撤銷修改

例如上面的mygit.txt檔案中我們的內容是 my first git,我們不小心將其改成了 my last git

這時必須要及時更改,不改可能會丟工作怎麼辦,
第一種方法就是,我們手動把我們寫的刪掉,如果更改的太多這樣做會很麻煩.
我們還可以使用 git checkout -- file

git checkout -- mygit.txt

命令git checkout -- readme.txt意思就是,把mygit.txt檔案在工作區的修改全部撤銷,這裡有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經添加到暫存區後,又作了修改,現在,撤銷修改就回到添加到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。

我們可以執行cat mygit.txt 是否發生變化

3.版本回退

我們在使用git上傳我們的檔案時,我們有事會碰到,剛上傳就發現傳錯了,但是已經覆蓋了我們遠程倉庫的源檔案了。這時候我們是不是很懵逼。不知所措,放心,git給我們留了一手,因為git存在記錄,我們可以查看記錄:

$ git log

git log命令顯示從最近到最遠的提交日誌,可能git會為我們列印出很多的記錄資訊,如果我們想看簡潔的記錄我們可以這樣:

$ git log --pretty=oneline3628162fb23d48395383f8f31179f24e0882e1e0 oneea34578d54d6d7dd233c827ed32a8cd576c5ee85 twocb926e7ea50ad11b8f9e909c05226233bf755030 three

上面一大串編碼,這是commit id(版本號碼),電腦產生的,首先,Git必須知道目前的版本是哪個版本,在Git中,用HEAD表示目前的版本,也就是最新的提交,上一個版本就是HEAD^,上上一個版本就是EAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100

好了,如果我們不小心提交錯了,我們可以回退到上個版本,git會根據記錄回退到上一個版本。

$ git reset --hard HEAD^
$ git log --pretty=oneline3628162fb23d48395383f8f31179f24e0882e1e0 oneea34578d54d6d7dd233c827ed32a8cd576c5ee85 two

4.刪除檔案

有時候我們想通過檔案管理工具把檔案刪除:

$ rm 檔案

當然如果你想恢複檔案可以用:

$ git checkout --  檔案

恢複檔案其實就是將我們暫存區內的版本替換了我們工作區的版本了。

git的版本操作基本就是這些了。

參考文獻:廖雪峰git教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.