1. 程式人生 > >Git倉庫

Git倉庫

這樣的 保存 -s git 作者 發布 sha-1 變化 通過

內容還未完整,往後學習過程繼續添加...

一.參考他人文章

http://www.cnblogs.com/Josiah-Lin/p/6847973.html (Git詳細教程---多人協作開發)

工作區
暫存區
倉庫

Git 保存的不是文件差異或者變化量,而只是一系列文件快照。

分支其實就是從某個提交對象往回看的歷史

3.2 分支的新建與合並

現在讓我們來看一個簡單的分支與合並的例子,實際工作中大體也會用到這樣的工作流程:

1. 開發某個網站。 2. 為實現某個新的需求,創建一個分支。 3. 在這個分支上開展工作。

假設此時,你突然接到一個電話說有個很嚴重的問題需要緊急修補,那麽可以按照下面的方式處理:

1. 返回到原先已經發布到生產服務器上的分支。 2. 為這次緊急修補建立一個新分支,並在其中修復問題。 3. 通過測試後,回到生產服務器所在的分支,將修補分支合並進來,然後再推送到生產服務器上。 4. 切換到之前實現新需求的分支,繼續工作。

由於 Git 中的分支實際上僅是一個包含所指對象校驗和(40 個字符長度 SHA-1 字串)的文件,所以創建和銷毀一個分支就變得非常廉價。

Git 提交時,會保存一個提交(commit)對象,該對象包含一個指向暫存內容快照的指針,包含本次提交的作者等相關附屬信息,包含零個或多個指向該提交對 象的父對象指針:首次提交是沒有直接祖先的,普通提交有一個祖先,由兩個或多個分支合並產生的提交則有多個祖先。

我們假設在工作目錄中有三個文件,準備將它們暫存後提交。

一旦分支中的提交對象發布到公共倉庫,就千萬不要對該分支進行衍合操作。

git stash push 將文件給push到一個臨時空間中

git stash pop 將文件從臨時空間pop下來

為什麽要把文件給push到一個臨時空間中,然後又為什麽將文件從臨時空間pop下來。

Git倉庫