什麼是版本控制
是對軟體開發過程中,對各種**,配置檔案,說明檔案變更的管理,是軟體配置管理的核心思想
版本控制器就是用來對檔案變更版本的管理
編寫乙個成熟可用的程式是乙個工作量很大的工程,不是我們一次性可以搞定的工作,所以在開發過程中,有以下特點:
版本迭代:
針對當前**進行修改和公升級,通過幾次迭代,達到預想的目的
常見的版本控制工具:
cvs: 是乙個c/s的版本控制軟體,主要用於開源的軟體管理,是多個開發人員通過乙個控制中心系統來記錄版本,從而達到保證檔案同步的目的,是一種很老的集中式版本控制工具
svn:也是集中式版本控制工具,他是最優的集中式控制工具
git:是乙個分布式版本控制工具
集中式管理工具:
開發者之間的合作方式是共用乙個倉庫(repository),無論這個倉庫是在本地還是在遠端,只要是所有成員都共同訪問同乙個倉庫,那麼這種方式就是集中式(centralized)版本控制。
缺點:**集中於伺服器,一旦網路出現問題,沒辦法去做版本操作
優點:**都集中於svn伺服器,不會發生個別新手汙染**的情況
分布式:作者linux torvalds,
工作區 暫存區 倉庫
工作區:對於檔案的新增,修改,刪除
暫存區:將工作區的操作完成小階段的儲存,是版本庫的一部分
倉庫區:表示個人開發的小階段,記錄的各種版本都是可以檢視回退
git 推到某一版本 Git回退版本
不小心對node modules資料夾進行了修改,而且順手就push到遠端了,一下子多了幾百檔案changes,遂想辦法回退版本。首先用git log檢視版本號,找到想回退到的版本號,然後最笨的辦法就是當前做的東西手動複製貼上,然後整個檔案git reset hard 版本號。完成之後新增重新編輯檔...
git 回滾某一版本
今天git commit 後,在git push 後面沒有加上 遠端分支,直接git push了,導致 沒有push 到origin 庫,而是直接push到了gitlab 庫。在gerrit上檢視一直沒有看到提交的資訊,但git fetch origin,git pull rebase,一直能拉下來...
版本控制相關研究一 版本控制需求的出現
版本控制系統 version control system 就是能夠讓你能追蹤到以前編輯過的檔案並輔助記錄檔案每次的更新細節。在個人日常工作中,尤其是開發工作,需要不斷的修改專案中的檔案,並將除錯好的專案發布到伺服器,在每次新的專案發布時就會覆蓋伺服器上舊的專案。為了能找到以前每次發布的專案,我們通...