git是一種分布式版本控制系統,對於**或者文件的版本管理帶來很大方便。
目前用的比較多的svn是一種集中式版本控制系統。
分布式版本控制系統的優點是:每乙個使用者在本地都有乙個版本庫,對**或者文件的修改、提交等操作只需要在本地完成即可,僅當多人協作需要合併時需要將個人的修改push到乙個「**伺服器」中,然後執行合併操作;
而集中式版本控制系統每次需要修改**或文件時都需要從「**伺服器」中獲取,然後做相應的修改,然後提交到「**伺服器」,對於網速不是很給力的使用者來說簡直是噩夢。
1.首先是本地的版本管理,包括版本庫的建立,版本的新增、刪除、撤銷,檢視修改記錄,檢視版本庫狀態等。
(1)git init :在本地建立乙個版本庫。具體的操作是新建乙個資料夾,然後cd到該資料夾下,輸入該命令即可,可以通過ls -al檢視
有一 個.git的隱藏檔案
(2)git add :將乙個檔案從工作區(本地)新增到版本庫的暫存區。具體操作是,在修改完某乙個檔案(假設為test.cpp)後,輸入
git add test.cpp即可。
(3)git commit -m 「***」:將剛才add的檔案從暫存區提交到版本庫的分支中。具體操作是,git commit -m "...",其中雙引號內部是
修改的一些記錄。
從上面可以看出:當修改乙個檔案後,要提交到版本庫必須需要兩步:git add 和git commit -m 「***」。
(4)git log:檢視版本修改記錄。當輸入git log時會列出修改的日期、修改人、修改日誌(git commit時寫入的話)
(5)git status:檢視當前版本庫狀態。當輸入該命令後會列出當前版本庫狀態,包括已經被修改但是沒有提交(add+commit)的檔案。
(6)git reset --hard:版本回退。git中head指標指向的是當前版本,因此git reset head^為回到上乙個版本,git reset head^^為回
到上上個版本,git reset --hard head~100為回到往前100個版本。如果想要回到某乙個版本,則首先需要獲取那個版
本的id,然後git reset --hard即可。
(7)git reflog:獲取歷史版本的id號,為git reset --hard 提供支援。
(9)git checkout -- :撤銷file檔案的修改(注意 -- 兩邊都是空格)。如果該檔案有修改在版本庫的暫存區,則執行該操作後
退回到暫存區之後的狀態
如果沒有在暫存區,則執行該操作後就退回到和之前版本庫狀態一致。
(10)git rm :git庫中刪除file檔案。當在工作區中利用rm命令刪除了乙個檔案後,需要將該操作同步到git版本庫中,即使用該
操作,然後執行 git commit -m 「」將該操作提交。
2.當本地檔案版本比較固定後,就需要將該版本提交到遠端的版本庫中,就需要版本遠端庫的連線、版本的推送。
(1)git remote add origin git@github.
com:***/***.git:將本地版本庫與遠端庫相連線。
(2)git push origin master:將本地master分支的版本推送到遠端庫中,也可推送其他分支到遠端庫,git push origin ***.
(3)git clone [email protected]:***/***.git :從遠端庫轉殖版本到本地。
(4)git pull origin ***:從遠端分支***上提取版本,前提是本地當前分支與遠端的***分支已經建立連線,如果沒有則需使用
git branch --set-upstream branch-name origin/branch-name 建立連線。
以上是git庫的基本操作,關於git分支的部分沒有涉及,待補充。
git版本管理系統使用
常用圖形介面 sourcetree git checkout 分支名 切換分支 git checkout b 分支名 建立分支並切換到該分支 git push origin delete 分支名 刪除遠端分支 git branch a 檢視所有分支 git branch d 分支名 刪除本地分支,注...
使用git做版本管理
前言 最近要做 的版本管理了,毫不猶豫地選擇了git 檢查是否已經安裝 git version如果可以看到版本號,類似git version 1.8.3.1說明git已經安裝。安裝git 也有可能是你的系統還沒安裝git,那麼請之星以下命令安裝 yum install y git作為開發,最常做的事...
GIT 版本管理 初階使用
目前我用的比較多的git指令 git clone b branch name 拉取遠端指定分支 git status 檢視工作區修改狀態 在將修改新增進暫存區的時候需要git add 將修改記錄新增到git中 git stash m message push file list 新增暫存資訊,便於以...