1. 程式人生 > >Git學習筆記(六) Git檢出

Git學習筆記(六) Git檢出

檢出命令

此命令會重寫工作區

該命令的實質就是修改HEAD本身的指向,不會影響分支遊標。當執行此命令時,HEAD頭指標被更改了,由指向一個引用(分支)變成了指向一個提交ID,分支(master)的指向沒有改變,仍舊指向原有的提交ID

“分離頭指標”狀態:指的是HEAD頭指標指向了一個具體的提交ID

用法一:git checkout [-q] [<commit>] [--] <paths>...    為避免路徑和引用(或提交ID)同名而發生衝突,可以在<paths>前用--作為分隔

此用法不會改變HEAD頭指標,主要用於指定版本的檔案覆蓋工作區中對應的檔案。若省略<commit>,則會用暫存區的檔案覆蓋工作區的檔案,否則用指定提交中的檔案覆蓋暫存區和工作區中對應的檔案。

用法二:git checkout [<branch>]

此用法會改變HEAD頭指標,之所以後面的引數寫作<branch>,是因為只有HEAD切換到一個分支才可以對提交進行跟蹤,否則仍然會進入“分離頭指標”的狀態,此狀態下提交不能被引用關聯到,從而可能丟失。所以此用法最主要的作用就是切換到分支,若省略<branch>則相當於對工作區進行狀態檢查。

用法三:git checkout [-m] [[-b | orphan] <new_branch>] [<start_point>]

此用法主要是建立和切換到新的分支,新的分支從<start_point>指定的提交開始建立。新分支與master分支沒什麼實質的不同,都是在refs/heads名稱空間下的引用。

$ git checkout branch

檢出branch分支,更新HEAD以指向branch分支,以及用branch指向的樹更新暫存區和工作區。

$ git checkout 、 $ git checkout HEAD

彙總顯示工作區、暫存區與HEAD的差異

$ git checkout -- filename

用暫存區中filename檔案覆蓋工作區中的filename檔案,相當於取消自上次執行git add filename以來(如果執行過)的本地修改(會悄無聲息覆蓋)

$ git checkout branch -- filename

維持HEAD的指向不變,用branch所指向的提交中的filename替換暫存區和工作區中相應的檔案,會將暫存區和工作區中的filename檔案直接覆蓋

$ git checkout -- 或 $ git checkout .

取消所有本地的修改(相對於暫存區),相當於用暫存區的所有檔案直接覆蓋本地檔案,不給使用者任何確認機會。

相關推薦

Git學習筆記 Git

檢出命令 此命令會重寫工作區 該命令的實質就是修改HEAD本身的指向,不會影響分支遊標。當執行此命令時,HEAD頭指標被更改了,由指向一個引用(分支)變成了指向一個提交ID,分支(master)的指向沒有改變,仍舊指向原有的提交ID “分離頭指標”狀態:指的是HEAD頭指標

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

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

Git學習筆記---- Git的概念以及安裝

Git學習筆記(一) 很早之前知道Git,只知道Git是一個類似於SVN的版本管理器,也曾想過去學習,但是當看到官網一大堆的英文時,便很輕易的放棄了。這次因為公司需要,必須是用Git,所以才決定靜下心來紮紮實實地把Git給啃下來。學習Git的步驟大致分為以下步驟

Git學習筆記----Git的工作原理以及使用

上一篇博文中簡單記錄了一下開始學習Git時查閱到的一些資料,主要介紹了Git的一些概念已經安裝。這篇博文主要的內容如下: Git工作原理 Git常用命令工作流程 如何將本地檔案上傳到遠端倉庫 如何將遠端倉庫的檔案checkout到本地 1、 Git工作

Git學習筆記 Git暫存區

檢視工作區檔案的改動 $ git diff 工作區與提交任務(提交暫存區,stage)中相比的差異 $ git diff HEAD 工作區和HEAD(當前工作分支)相比的差異 $ git diff --cached (或--staged)提交暫存區(提交任務,stage)和

git學習筆記1-git基礎

作為一個裝逼、逗比的程式猿,對於版本管理還停留在svn、cvs,每當看到論壇、帖子中出現git、github字眼都會莫名的jujin,為啥重來沒有試過。 好吧,今天就來看看git它到底有多神奇!在下英語實在是惱火,於是只有看下中文版本的pro git,先分享給大家吧。

Git學習筆記

git1、Git的介紹及安裝Git:全宇宙最牛的分布式版本控制軟件,Git是目前世界上最先進的分布式版本控制系統#CentOS7下git的安裝 [[email protected]/* */ ~]# yum -y install git #設置git賬號信息 [[email protec

Git學習筆記

== 我們 ash 發出 效率 媳婦兒 src 每天 apply 一、分支管理 1、什麽是分支   分支就相當於我們看科幻片裏的平行宇宙,如果兩個平行宇宙互不幹擾,那鐵定是啥事兒沒有。不過,在某個時間點,兩個平行宇宙合並了呢?假如兩個宇宙中都有你的影子, 合並之後相當於你們

Git學習筆記遠程庫GitHub協同開發,fork和忽略特殊文件

tex 情況 learn 多人 版本管理 獲得 logs 秘鑰 多個 遠程庫   遠程庫,通俗的講就是不再本地的git倉庫!他的工作方式和我們本地的一樣,但是要使用他就需要先建立連接!   遠程庫有兩種,一個是自己搭建的git服務器;另一種就是使用GitHub,這個網站就是

git學習筆記1

1 配置 啟動 git bash [email protected] MINGW64 ~ $ git config --global user.name "tzb" [email protected] MINGW64 ~ $ git config --glo

Git 學習筆記1管理一臺電腦上的多個公鑰

1. 前提條件  安裝 Git。 2. 建立公鑰  開啟.ssh資料夾(位於:C:\Users\Administrator\.ssh),右鍵資料夾空白處,開啟 Git Bash(Git Bash h

Git 學習筆記 安裝Git 伺服器

選擇gitblit 作為Git伺服器 1.安裝JDK1.8,過程略。並且更新環境變數。 JAVA_HOME=D:\Program Files \Java\jdk1.8 CLASSPATH=%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/to

Git 學習筆記 在windows 上安裝git

先記錄兩個學習git的網站 Git與SVN、CVS最大的區別是git是分散式版本控制系統,SVN、CVS是分散式版本控制系統。 分散式版本控制系統中,沒有“中央伺服器”,每個人的電腦上都是一個完成的版本庫,可以方便離線工作。多人協作時,可以把各自的修改推送給對方,就可以互

python學習筆記1-git學習

註冊賬號:輸入個人賬號:pythonlinan                   輸入個人郵箱:[email protected]                   輸入個人密碼:此處略 建立倉庫:     1.建立account,點選下一步。  

GIT學習筆記3:分支管理

tree 目錄樹 兩個 基本 使用 ranch ast strong 不同的 GIT學習筆記(3):分支管理 何謂分支 GIT是如何存儲數據的   GIT不是存儲文件差異或者變化量,而是一系列文件的快照。在Git提交時,會保存一個提交(commit)對象,該對象包含一個指向

git學習筆記——從已存在的遠端倉庫克隆

應用場景:在公司電腦把指令碼上傳到公司的gitlab上,在家裡想繼續寫; 問題: 家裡的之前程式碼連的是github的倉庫,需要把公鑰替換成公司gitlab的。 環境:win10,pycharm,git BASH 解決方案: 1. 檢查SSH keys是否存在 輸入 ls -al ~/

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

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

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

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

MySQL學習筆記—— MySQL自連接

概念 cor 子查詢 ron 表操作 例子 質量 _id order by 有的時候我們需要對同一表中的數據進行多次檢索,這個時候我們可以使用之前學習過的子查詢,先查詢出需要的數據,再進行一次檢索。 例如:一張products表,有產品id,供應商id(vend_

學習筆記

tde 監聽 文本 ren 頁面 define www 顯示 back BUG集錦:1. storage on 事件監聽必須兩個頁面同時打開,且處於服務器訪問狀態2. submit 和 button 不能套在 a 裏面,否則 submit 事件將消失3. 新建 Object