1.1 git是什麼
git是一種版本控制器.
更直白說,團隊開發時,管理**用的軟體.
面試時,容易被問到的乙個東西.
1.2 安裝
#ubuntu,debian#
#sudo apt-get install git
centions,redhat系統
#yum install git
1.3報家門
人在江湖,豈能沒有名號.
開源教主richard matthnew stallman的江湖名號rms
在你用git之前,要先報家門,否則**不能提交
$ git config --global user.name #你是誰
$ git config --global user.email #怎麼聯絡你
1.4**管理
1.4.1建立版本庫
$ cd e
:/$ mkdir test
$ cd test
$ git init
注意:
1.4.2新增檔案
在e:/test目錄下,用你喜歡的編輯器(sublime/editplus/notepad/vim等)
開發你的程式,比如index.php
編輯php檔案後,git status,檢視倉庫狀態
例項如下:
$ git status
可見,此時git發現有乙個新檔案,但並沒有把此檔案納入管理.
我們需要兩步,讓git倉庫管理index.php
1.4.3修改檔案
如果修改了檔案,也不要忘記提交到版本庫
這個過程和新增檔案時一樣的
一樣需要兩步,讓git倉庫記錄此次改變
1.4.4刪除檔案
用rm命令刪除檔案,並直接commit提交到版本庫
例:先建立乙個foo.ph供練習刪除用
例項如下:
$ git add foo.php
$ git commit -m "練習刪除用"
$ ls
foo.php index.php
#開始刪除
$ git rm foo.php
rm 'foo.php'
$ git commot -m "刪除foo.php"
(master e4dc37c)刪除foo.php
$ ls
index.php
1.5遠端倉庫
經過前面的練習,你在本地的倉庫裡管理**已經比較熟練了.
但如果是團隊開發,如何配合起來呢?
國外:國內:
github.com也是目前程式設計師的裝逼利器,在github上掛個專案,逼格瞬間提公升兩三檔.
不過由於是國外**,速度不咋樣.
出於學習的方便,我在oschina.net給大家演示.
請立即開啟 註冊乙個賬戶.
1.5.2建立專案1.5.3把**推到遠端倉庫
推:push
$ git remote add origin
.net/lianshou/test.git
意思是:新增1個遠端庫,代號是orgin,位址是https://....test
.git
$ cd f:/
$ git clone .net/lianshou/test.git
$ cd test
$ ls
index.php
「火夫」修改並push他的**
另乙個賬戶,如何得到倉庫裡的最新**?
推:push 拉:pull
lianshou賬戶拉取最新**
$ git pull origin master
此時,檢視最新的index.php內容,第四行,多了」火夫」的那一行.
至此,你可以和小夥伴愉快的用git開發了.
如果要掌握更多的git功能,後面還有四章,敬請期待!
第二章 git的特點及誕生
2.1分布式版本控制器
2.2發展歷史
第三章 **管理
3.1工作區和版本庫
如果你想要更清晰的學習git,你必須了解3個重要的區域.
如果感覺log有點亂可以git log –pretty=oneline,讓日誌單行顯示.
3.4版本切換
我們針對ver.txt.連續修改4次,形成了4個版本.
one line
second line
third line
four line
git reflog 檢視版本變化
$ git reflog
72f608d head@: pull origin master: fast-forward
488c592 head@: commit: orgin
5aa41fc head@: commit: del read.txt
af2afd7 head@: commit: read
ece7822 head@: commit: modified
7b09637 head@: commit (initial): 新建index.txt
head指向當前版本7b09637
切換成head的當前1版本,git reset –hard head^
切換成head的當前2版本,git reset –hard head^^
切換成head的當前100版本,git reset –hard head~100
也可以利用版本號來切換.
注意:版本號不用寫那麼長,能保證不與其他版本號重複就行.
第四章 分支管理
4.1 分支有什麼用?
4.2檢視分支
檢視所有分支 git branch
4.3建立分支
建立dev分支 git branch dev
4..4 切換分支
切換到dev分支 git checkout dev
4.5合併分支
當我們在dev上開發某功能,並測試通過後,可以把dev的內容合併到master分支.
例: 當前的readme.txt內容為「so so」,在dev分支下,新增一行「from dev」
並提交
git add readme.txt
git commit -m "mod in dev"
再次切換到master,檢視readme.txt的內容,仍為「so so」
合併dev分支,git merge dev,如下:
再次檢視readme.tex的內容,已變成」soso from dev」;
4.6 刪除分支
git branch -d dev
deleted branch dev (was 412926b)
4.7 快速建立和切換分支
git checkout -b dev #建立dev分支並立即切換到dev分支
即起到git branch dev和git checkout dev的共同作用.
第五章遠端倉庫配置
我們push本地倉庫到遠端時,總要輸入使用者名稱/密碼,這很不方便.
配置公鑰,可以避免頻繁輸使用者名稱/密碼的麻煩.
1.配置ssh格式的遠端倉庫位址
git remote add 遠端倉庫名 遠端倉庫位址
2.建立ssh key
ssh-keygen -t rsa -c 「[email protected]」,把郵件位址換成你自己的郵件位址,一直回車,不用輸入密碼,完成後,可以在使用者主目錄裡找到.ssh目錄,內有id_rsa和id_rsa.pub兩個檔案,id_rsa是私鑰,id_rsa.pub是公鑰.
這兩把鑰匙是成對的,可以讓分別持有私鑰和公鑰的雙方相互認識.
3.把公鑰放在伺服器
用記事本開啟id_rsa.pub,複製公鑰內容.
登入git.oschina.net,填入公鑰並儲存.
Git 快速入門
一種分布式版本控制系統。版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給 伺服器。伺服器就好比是乙個圖書館,你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館。集中式版本控制系統最大的...
git快速入門
我們的 倉庫是用gitlab來管理的,要檢視自己能訪問哪些倉庫,以及倉庫的位址,請先熟悉一下gitlab系統的使用 gitlab入門 以下教程假設你已經知道如何在系統開啟終端視窗,並知道如何輸入shell命令。現在開啟終端,然後繼續。在提交 之前必須設定自己的使用者名稱和email git conf...
git快速入門
看到這裡,相信你已經能夠回滾遠端分支的版本了,那麼你也許會問了,回滾公共遠端分支和回滾自己的遠端分支有區別嗎?答案是,當然有區別啦。乙個顯而易見的問題 如果你回退公共遠端分支,把別人的提交給丟掉了怎麼辦?下面來分析 假如你的遠端master分支情況是這樣的 a1 a2 b1 其中a b分別代表兩個人...