一、git介紹
git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。類似svn又有所不同。
分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖(git clone),在本地機器上拷貝乙個完整的git倉庫。
下圖是經典的git開發過程。
git的功能特性:
從一般開發者的角度來看,git有以下功能:
1、從伺服器上轉殖完整的git倉庫(包括**和版本資訊)到單機上。
2、在自己的機器上根據不同的開發目的,建立分支,修改**。
3、在單機上自己建立的分支上提交**。
4、在單機上合併分支。
5、把伺服器上最新版的**fetch下來,然後跟自己的主分支合併。
6、生成補丁(patch),把補丁傳送給主開發者。
7、看主開發者的反饋,如果主開發者發現兩個一般開發者之間有衝突(他們之間可以合作解決的衝突),就會要求他們先解決衝突,然後再由其中乙個人提交。如果主開發者可以自己解決,或者沒有衝突,就通過。
8、一般開發者之間解決衝突的方法,開發者之間可以使用pull 命令解決衝突,解決完衝突之後再向主開發者提交補丁。
從主開發者的角度(假設主開發者不用開發**)看,git有以下功能:
1、檢視郵件或者通過其它方式檢視一般開發者的提交狀態。
2、打上補丁,解決衝突(可以自己解決,也可以要求開發者之間解決以後再重新提交,如果是開源專案,還要決定哪些補丁有用,哪些不用)。
3、向公共伺服器提交結果,然後通知所有開發人員。
二、簡單命令
1. 建立本地倉庫 git init
2. 增加內容:
增加檔案:git add a.txt b.txt
刪除檔案:git reset head a.txt/ git --hard reset head~1
增加資料夾:git add d:\folder\test
3. 提交
git commit a.txt -m "commit some comments into warehouse"
4. 檢視狀態
git status/ git st
5. 檢視差異
git diff
6. 拉分支
git branch test_branch
會生成基於master分支的乙個子分支test_branch,可以在子分支上進行開發修改
git checkout -b -newbranch
這樣用可以建立新的分支並切換到新分支上去,b代表branch的意思,newbranch 是新分支的名稱,如果沒有指定提交點(start_point),預設從head指向的提交建立分支。
7. 下**
git fetch 從遠端獲取最新版本到本地,不會自動merge
git pull 從遠端獲取最新版本並merge到本地,相當於git fetch 和git merge
8. 上傳**
git push -u origin master 推送本地**到遠端伺服器上
《本人第一篇blog,萬事開頭難》
Git入門 Git安裝和簡單操作
1 首先進行安裝 安裝的時候,一頓傻瓜操作next就行,除了路徑自定義,剩下的都可以next跳過。之後找到乙個資料夾,右擊,彈出下面頁面 2 初始化配置 開啟git bash here就是在當前資料夾開啟,彈出下面頁面 注意,這個資料夾當中的東西別輕易變動,之後明白怎麼回事再隨便改。這兩步的作用是初...
GIt簡單入門
首先我們要安裝git。在ubuntu16.04上,使用apt就可以輕鬆安裝。然後建立個人資訊 git config global user.name name git config global user.email email 建立乙個git倉庫 1,clone 乙個倉庫 git clone ar...
git簡單入門
git是乙個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。git伺服器使用 ssh 公鑰進行認證。為了向 git 伺服器提供 ssh 公鑰,如果某系統使用者尚未擁有金鑰,必須事先為其生成乙份。這個過程在所有作業系統上都是相似的。首先,你需要確認自己是否已經擁有金鑰。預設情況下,使用...