Git--版本管理的使用及理解
如果多人合作時,git也是需要中間交換伺服器來解決衝突合併,這不還是集中式版本控制嗎?
而svn不是也可以將所有原始碼下載到本機,然後在本機修改,儲存在本機上,為什麼這個不能說是分散式,提交的時候不也是解決衝突合併就ok嗎?
git和svn的區別:
https://blog.csdn.net/hellow__world/article/details/72529022
git詳細使用說明:
https://my.oschina.net/gsbhz/blog/337719
git使用過程簡介:
準備工作
1.下載git,並安裝,安裝完畢後,桌面空白處上右鍵,選單出現Git GUI Here和Git Bash Here既安裝成功
2.註冊github賬號(這一步不是必須,因為本文要配合github使用,所以需要github作為遠端倉庫)
Git基本常用命令如下:
mkdir: XX (建立一個空目錄 XX指目錄名)
pwd: 顯示當前目錄的路徑。
git init 把當前的目錄變成可以管理的git倉庫,生成隱藏.git檔案。
git add test.txt 把test.txt 檔案新增到暫存區去。
git commit –m “修改bug10879” 提交檔案 –m 後面的是註釋。
git status 檢視倉庫狀態
git diff test.txt 檢視test.txt 檔案修改了那些內容
git log 檢視歷史記錄
git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一個版本
(如果想回退到100個版本,使用git reset –hard HEAD~100 )
cat test.txt 檢視test.txt 檔案內容
git reflog 檢視歷史記錄的版本號id
git checkout -- test.txt 把test.txt 檔案在工作區的修改全部撤銷。
git rm test.txt 刪除test.txt 檔案
git remote add origin http://github.com/username/gittest 關聯一個遠端庫
git push –u origin master (第一次要用-u 以後不需要) 把當前master分支推送到遠端庫
git push origin master Git會把master分支推送到遠端庫對應的遠端分支上
git clone http://github.com/username/gittest 從遠端庫中克隆
git checkout –b dev 建立dev分支 並切換到dev分支上
git branch 檢視當前所有的分支
git checkout master 切換回master分支
git merge dev 在當前的分支上合併dev分支
git branch –d dev 刪除dev分支
git branch name 建立分支
git stash 把當前的工作隱藏起來 等以後恢復現場後繼續工作
git stash list 檢視所有被隱藏的檔案列表
git stash apply 恢復被隱藏的檔案,但是內容不刪除
git stash drop 刪除檔案
git stash pop 恢復檔案的同時 也刪除檔案