分布式和集中式的區別:
集中式版本控制:版本庫集中在一台伺服器上,每次開發都需要先從伺服器上獲取最新版本,開發完成需要提交再把新的版本發回伺服器。例如svn。
分布式版本控制:本地電腦中有乙份完整的版本庫,需要多人合作時只需把自己修改的推送到伺服器上,對方拉取就好。
有不知道的命令可以查閱手冊:git命令的使用手冊(verb為需要查詢的命令)
$ git help $ git --help
$ man git-
每次的修改都是版本的更新,所以我們需要乙個版本庫來記錄這些資訊。
$ git init
# git初始化的命令,用於新建版本庫
執行初始化命令後,目錄中會產生新的目錄
.git/
這個版本庫會預設記錄當前目錄中任何檔案的改動。如果刪除這個版本庫,之前記錄的資訊都會缺失。
上文已經提到如何在現有目錄初始化倉庫。如果想要獲得乙份已經存在了的git倉庫拷貝,就要用git clone命令,轉殖的是該git倉庫伺服器上的幾乎所有資料。執行時,預設配置下遠端git倉庫中的每乙個檔案的每個版本都會被拉取下來。
$ git clone [url]
如果想在轉殖遠端倉庫時自定義本地倉庫檔案,則使用命令
$ git clone [url] [自定義名字]
基本本地git倉庫概念了解
工作目錄下的檔案只有兩個狀態:已跟蹤和未跟蹤。(是否add)
檢查當前檔案狀態
$ git status
$ git status -s || git status --short //更為緊湊的提示
顯示情況:
git本地倉庫有三種狀態
git三個本地工作區域
基本git工作流程:
在工作目錄中修改檔案。(編寫**)
暫存檔案,將檔案的快照放入暫存區域。(暫存**)
提交更新,找到暫存區域的檔案,將快照永久性儲存到 git 倉庫目錄。(提交更新**)
(本地磁碟–>暫存區域–>本地git倉庫)
跟蹤新檔案或者把已跟蹤的檔案放到暫存區(新增內容到下一次提交中)
$ git add 檔名
提交更新(放在暫存區域的快照)$ git commit //啟動編輯器輸入提交說明
$ git commit -m '注釋'
$ git commit -a -m '注釋' //調過使用暫存區域,把所有已跟蹤的檔案的更新直接提交到本地倉庫
移除檔案git rm 檔名 //連帶從工作目錄中刪除
git rm --cached 檔名 //刪除git倉庫中(包括暫存區域)的檔案,但是不刪除工作目錄裡的檔案
檢視提交歷史$ git log //按提交時間列出所有的更新,最近的更新排在最上面
$ git log -p //顯示每次提交的內容差異
$ git log -2 //最近兩次的提交
$ git log --stat //簡略的統計資訊
比較工作目錄中當前檔案(還未在暫存區域的) 和暫存區域快照(已經add的,並非上次提交的)之間的差異
$ git diff
檢視已暫存的將要新增到下次提交裡的內容
$ git diff --cached
忽略無需加入git管理的檔案
建立 .gitignore的檔案,列出要忽略的檔案模式
撤銷操作
有時提交完了才發現有幾個檔案沒加,或者注釋寫錯了(像我經常覺得自己注釋寫的不好。。),可以嘗試重新提交。
$ git commit --amend
來個例子
$ git commit -m '第一次提交資訊***xx' //先提交了
$ git add aaa.js //發現有個檔案沒提交,加進去
$ git commit --amend //重新提交,覆蓋上一次的提交
不過講道理我是不建議取消的。寧願重新commit。特別害怕資料丟失。 git 版本控制器 本地倉庫
本地建立倉庫,然後進行管理.提交到本地倉庫 不需要網路 提交到遠端倉庫 需要網路 相對於svn為轉殖方式,賦值的是整個倉庫,svn只是複製的 1.電腦新建立乙個 本地倉庫 空資料夾 2.開啟終端 輸入cd 空格 再直接把桌面空資料夾拖進來 回車 再輸入 git init 回車 3.新建乙個存放在 本...
git 本地倉庫
git是當前最流行的版本控制軟體 在本地安裝git 檢查是否安裝git git version 1.建立倉庫 在本地建立乙個資料夾,裡面放上要放在git倉庫中管理的檔案,在命令列提示符中,進入到該資料夾下,執行命令git init 這是把該普通的資料夾初始化成git倉庫,通過輸出可以檢視初始畫的是乙...
git本地倉庫
預設的位置是在你所安裝git的目錄下。git的倉庫你可以建在你電腦的任何目錄下 最好不要包含有中文目錄 通過命令列cd指定到你想要的目錄下,例如 cd g git上面的命令將指定到g盤下git資料夾內。當然git目錄是我事先建好的資料夾,你也可以先指定到g,再在g盤下建立新的目錄,使用命令列mkdi...