從本文你能夠得到如下知識:html
1.GIT服務器搭建(CentOS6.5)linux
2.TortoiseGIT,MsysGIT工具的使用c++
3.GitHub的使用git
GIT簡介github
Git 是一個開源的分佈式版本控制系統,能夠有效高速處理很是大的項目版本管理。Git 是Linux之父Linux Torvlds 爲管理linux內核而開發的一個開發源碼的版本控制軟件,目前也是用的比較火。數據庫
GITLAB簡介windows
GitLab 是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自託管的Git 項目倉庫,經過Web 界面進行訪問公開或者私人項目。它和Github(全球最大的開源或私人代碼託管平臺)的功能很像,能瀏覽源碼,管理缺陷和註釋,能夠瀏覽文件歷史庫,可使用Wall程序聊天交流。提供代碼片斷收集功能和實現代碼複用,便於往後查找。緩存
工做原理bash
1.Git在本地磁盤保存着當前項目的歷史更新,處理速度很快。服務器
2.瀏覽項目歷史更新摘要,Git直接從本地數據庫讀取顯示。
3.查看版本差別時,Git進行差別運算,而不須要遠程服務器。
4.Git能夠脫機工做,能夠頻繁提交和更新代碼,有網時再上傳。
文件狀態
文件在Git內有三種狀態
已提交(committed)
已修改(modified)
已暫存(staged)
若是是經過git clone 那麼其中 .git 就是GIT目錄
若是是經過git clone –bare 那麼新建的目錄自己就是GIT目錄
GIT目錄用來保存元數據和對象數據庫
每次克隆鏡像倉庫都會從這個目錄裏面拷貝數據
工做流程:
1.從倉庫取出某版本的目錄稱爲工做目錄
2.在工做目錄進行修改和編輯,而後進行快照保存到暫存區域
3.提交更新,將暫存區域的文件轉到Git目錄當中
Git 經常使用命令
git init here #建立本地倉庫 .git文件裏存儲了版本信息和標記 git remote add origin git@github.com:demonxian3/hellowrold.git #關聯本地和遠程倉庫 git add #從本地倉庫增長,結果會保存到本機緩存裏 git commit –m 「註釋」 #提交本機緩存的內容到本機HEAD裏面 git push origin master #把本地倉庫提交到遠程倉庫 origin表明關聯的遠程倉庫 git pull origin master #從遠程把新變化拉下來 git status #查看git狀態 git add –A #提交所有修改 git config –global user.name 「xxx」 #配置用戶名,上傳到遠程倉庫的用戶信息 git config –global user.email 「xxx」 #配置用戶郵箱 git config –list #查看配置列表 git rm xxx #從本地倉庫中刪除指定文件 git rm –r xxx #從本地倉庫中刪除指定目錄
git pull --rebase #與遠程同步(拉數據)
git log #查看歷史提交版本 git reset --hard 8c3a7254747d262f547 #版本回退,hard值從log裏看
使用.gitignore文件忽略指定的內容
下面開始搭建GIT服務器(實驗採用CentOS6.5)
1在服務端上搭建git服務,IP地址:192.168.1.112
yum –y install git #須要ssh支持,某些發行版須要安裝git-core 默認版本是1.8.3,新版本能夠參考後面的git源碼安裝
useradd –m git #建立服務用戶 echo git:123456 | chpasswd #設置git 密碼 mkdir /project #本地倉庫名 chmod 755 –R /project chown git:git –R /project su git cd /project mkdir project.git #建立git測試目錄及文件 cd project.git git --bare init #初始化倉庫
2.在客戶端初始化測試,將服務端的project項目git clone下來
mkdir git && cd git #建立測試目錄 git clone git@192.168.1.112:/project/project.git #從遠程倉庫拷貝到測試目錄
能夠看到測試目錄裏把遠程目錄的project.git弄下來了
###############下面是個標準的代碼提交過程###################
客戶端模擬開發更新,提交
cd project && echo 「This is test」 > 1.html #模擬測試內容 git add . #添加到暫存緩區 git commit –m 「first」 #提交到本地倉庫,會輸出提示信息 git remote add origin git@192.168.1.112:/project/project.git #確認本地和遠程是否關聯 git push origin master #把本地代碼上傳到遠程代碼
設置我的用戶信息
git config –global user.name 「demon.demon」
git config –global user.email demon@demon.cn
windows系統使用git經常使用的兩個用具以下
https://git-for-windows.github.io/ #msysgit下載地址
https://tortoisegit.org/download/ #TortoriseGIT下載地址
第一個msysgit能夠單獨使用,第二個工具tortoisegit須要結合第一個使用
msysgit工具
在git bash 能夠在windows下像linux那樣運行git 命令
右鍵 Git GUI Here
這裏我填寫的是本身搭建的git服務器,大家能夠填寫github或者其餘遠程地址
從這裏能夠看出git須要創建在openssh上的,因此確保有ssh服務在服務器上
而後就能夠把遠程倉庫的代碼git下來了
同時會彈出下面的GUI管理界面,Checkout一下
模擬一下開發更新修改
而後在GUI裏頭點RESCAN從新掃描,能夠掃到新加的內容
存儲到暫存區域,以下就會跑到綠色下面的框框去了
Git Bash設置一下我的信息,而後點擊簽名
提交到本地倉庫
提交到遠程倉庫
小烏龜TortoiseGIT工具
建立一個目錄test,在目錄下面右鍵Git clone,一樣這裏就以本地git服務器爲例子
選擇是,保存祕鑰輸入一下GIT用戶的密碼123456既可下載代碼下來
添加一個5.html後,右鍵選擇ADD,添加到暫存區域
右鍵點擊Git Commit -> 「master」後,輸入message既可提交到本地倉庫
若是要提交到遠程倉庫點擊上面界面的push按鈕既可
更多的教程能夠參考http://www.yiibai.com/git/ Git的使用幫助
事實上,GIT服務器並不須要咱們搭建,由於使用github就能夠知足咱們的需求
1.首先在github上面註冊一個帳號,這個就不演示了吧。
2.生成本地祕鑰 ssh-keygen
3.導入祕鑰到官方
4.而後把本地公鑰複製進去既可,若是不知道本地公鑰是什麼能夠到下面的目錄查看
cd ~/.ssh/ && cat id_rsa.pub #就能夠看到公鑰了
添加後過一會發個郵件給你
5.添加成功後測試登陸 ssh –T git@github.com
6.建立本地倉庫
回到主頁 https://github.com/ ,點擊New repository
第一次建立須要郵箱驗證的
7.驗證好後,填寫建立信息
8.而後點擊建立,出現下面的界面點ssh,由於咱們前面使用的是ssh祕鑰認證
9.下面開始在本地建立一個新的倉庫與gihub倉庫鏈接,也就是照上圖create a new repository 打就能夠了
mkdir git && cd git echo "# IPhelper" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:demonxian3/IPhelper.git git push -u origin master
當你看到下面的界面表示本地倉庫的建立和鏈接成功
到github頁面上點擊your profile
能夠看見多出了一個倉庫
10.配置一下用戶信息
git config --global user.name "demon.x" git config --global user.email demon@demonx.cn
11.下面模擬測試同步
echo hello man > 1.html #新增內容 git add 1.html #緩存添加 git commit -m "add a html" #本地提交 git push -u origin master #遠程提交(須要驗證)
git log #查看提交版本號
git pull --rebase #與遠程同步(拉數據) git reset --hard 8c3a7254747d262f547dcb3f4623fd12dc235e0c #版本回退,hard值從log裏看
以前使用yum命令安裝,版本比較低,下面是經過源碼安裝Git
git源碼下載地址,能夠手動下載下來在上傳到服務器上面
https://github.com/git/git/releases
https://www.kernel.org/pub/software/scm/git/
1 移除舊版本git,將舊版本先卸載
git --version ##查看自帶的版本
yum remove git ##移除原來的版本
2 安裝所需軟件包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc-c++ perl-ExtUtils-MakeMaker
3 將源碼包下載下來
cd /usr/src && wget https://www.kernel.org/pub/software/scm/git/git-2.7.3.tar.gz
4 解壓
tar xf git-2.7.3.tar.gz && cd git-2.7.3
5 配置編譯安裝到/usr/git目錄下面
make configure
./configure --prefix=/usr/git #指定安裝目錄
make profix=/usr/git -j 4 && make install #四線程編譯及安裝
6 添加環境變量
echo "export PATH=$PATH:/usr/git/bin" >> /etc/profile
source /etc/profile
7 檢查版本
git --version
8 其餘git命令用法參考
http://www.javashuo.com/article/p-hdsvqwtu-dt.html