從本文你可以獲得以下知識:
1.GIT服務器搭建(CentOS6.5)
2.TortoiseGIT,MsysGIT工具的使用
3.GitHub的使用
Git 服務搭建
GIT簡介
Git 是一個開源的分布式版本控制系統,可以有效高速處理非常大的項目版本管理。Git 是Linux之父Linux Torvlds 為管理linux內核而開發的一個開發源碼的版本控制軟件,目前也是用的比較火。
GITLAB簡介
GitLab 是利用 Ruby on Rails 一個開源的版本管理系統,實現一個自托管的Git 項目倉庫,通過Web 界面進行訪問公開或者私人項目。它和Github(全球最大的開源或私人代碼托管平台)的功能很像,能瀏覽源碼,管理缺陷和注釋,可以瀏覽文件歷史庫,可以使用Wall程序聊天交流。提供代碼片段收集功能和實現代碼復用,便於日后查找。
工作原理
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的使用幫助
GitHub的使用
事實上,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里看

Git源碼安裝
之前使用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命令用法參考
https://www.cnblogs.com/demonxian3/p/7655266.html
