一、git是什麼
git 是乙個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。
git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。
git 與常用的版本控制工具 cvs, subversion 等不同,它採用了分布式版本庫的方式,不必伺服器端軟體支援。
簡單來說,git是乙個版本控制系統、也是個內容管理系統及工作管理系統等。
二、工作流程
本地的倉庫由git維護的三個部分組成。第乙個是工作目錄,持有實際目錄。第二個是快取區,放置轉殖檔案,有修改操作在轉殖檔案中修改。第三個是head,指向最後一次提交的結果。
詳細工作流程:
三、git的工作區、暫存區、和版本庫
當對工作區修改(或新增)的檔案執行 "git add" 命令時,暫存區的目錄樹被更新,同時工作區修改(或新增)的檔案內容被寫入到物件庫中的乙個新的物件中,而該物件的id被記錄在暫存區的檔案索引中。
當執行提交操作(git commit)時,暫存區的目錄樹寫到版本庫(物件庫)中,master 分支會做相應的更新。即 master 指向的目錄樹就是提交時暫存區的目錄樹。
當執行 "git reset head" 命令時,暫存區的目錄樹會被重寫,被 master 分支指向的目錄樹所替換,但是工作區不受影響。
當執行 "git rm --cached" 命令時,會直接從暫存區刪除檔案,工作區則不做出改變。
當執行 "git checkout ." 或者 "git checkout --" 命令時,會用暫存區全部或指定的檔案替換工作區的檔案。這個操作很危險,會清除工作區中未新增到暫存區的改動。
當執行 "git checkout head ." 或者 "git checkout head " 命令時,會用 head 指向的 master 分支中的全部或者部分檔案替換暫存區和以及工作區中的檔案。這個命令也是極具危險性的,因為不但會清除工作區中未提交的改動,也會清除暫存區中未提交的改動。
四、git基礎命令
git push origin master/ --tags 將本地倉庫的檔案推送到遠端倉庫
git pull origin master 將遠端倉庫拉取下來
git log 檢視當前之前的提交記錄
git reflog 檢視所有的提交記錄
git checkout filename 將指定的檔案回退到最近一次的提交的地方
git checkout braname 切換分支
git reset --hard hash值 回退到某個版本
git reset head filename 將快取區的檔案拉取到工作區
Git系列文章(一) Git簡介及基本操作
git命令教程 常用的幾個命令 git init 初始化版本倉庫 git add 增加所有檔案到暫存區 git commit m 提交資訊 提交更改 git status 當前版本庫狀態 git remote add 遠端倉庫名 遠端倉庫位址 eg git remote add r my bugfi...
Git簡單理解及基礎操作
4 linux 編譯安裝git 5 git常用的其它命令 不幸的是,microsoft的word excel格式是二進位制格式,因此,版本控制系統是沒法跟蹤檔案的改動的,如果要真正使用版本控制系統,就要以純文字方式編寫檔案。git 生成ssh 金鑰 可以使用git gui中的help show ss...
Kafka簡介,安裝及簡單的操作
kafka的介紹 kafka 是分布式發布 訂閱訊息系統,即,kafka是一種分布式的訊息佇列工具。kafka特點 a.高吞吐量 kafka每秒可以生產約25萬訊息 50mb 每秒可以處理55萬訊息 110mb b.持久化資料儲存 可進行持久化操作。將訊息持久化到磁碟,按順序讀寫。據測試按順序磁碟讀...