歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 用Git做版本控制-並上傳至Github

用Git做版本控制-並上傳至Github

日期:2017/2/28 14:36:12   编辑:Linux教程

安裝Git
源碼安裝:
Git的工作需要調用curl,zlib,openssl,expat,libiconv等庫的代碼,首先安裝依賴環境:
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

之後在git官網下載最新的版本源代碼:
http://git-scm.com/download
然後編譯並安裝:

# tar -zxvf git-1.8.4.2.tar.gz
# cd git-1.8.4.2
# make prefix=/usr/local all
# make prefix=/usr/local install

初次運行git前的配置

用戶信息:

第一個要配置你個人的用戶名和電子郵件地址,每次提交時都會引用這兩條信息
# git config --global user.name "Leon Hao"
# git config --global user.email [email protected]

文本編輯器:
設置默認使用的文本編輯器。Git需要你輸入一些額外信息的時候,會自動調用一個外部文本編輯器給你用。默認操作系統指定默認編輯器,一般可能會是vi或者vim,如果你有其他的偏好,比如Emacs的話,可以重新設置:
# git config --global core.editor emacs

差異分析工具:

還有一個比較常用的是,在解決合並沖突時使用哪種差異分析工具。比如要改用vimdiff的話:
# git config --global merge.tool vimdiff

查看配置信息:

要查看已有的配置信息,可以使用git config --list命令:
[root@SK-UAT-MYSQL /]# git config --list
user.name=Leon Hao
[email protected]

設置第一個倉庫:
進入Rails的程序根目錄下,也可以自己手動創建一個目錄,然後進入創建的目錄中
初始化一個空的倉庫
# git init

Git默認會跟蹤所有的文件,但是有一些文件是我們不需要跟蹤的,例如Rails(ruby)會創建一些日志文件記錄應用程序的動作,這些文件經常變化,我們不需要版本控制系統跟蹤這些文件,git有忽略文件的機制:在應用程序的根目錄創建一個名為.gitignore的文件,然後寫入一些規則告訴git忽略哪些文件即可:

Rails命令默認創建的.gitignore文件
# See http://help.github.com/ignore-files/ for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config.
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp

我們再加入一些規則,修改這個文件即可:(為了篩選出配合ruby使用,自己可以根據自己需要修改)
# See http://help.github.com/ignore-files/ for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile '~/.gitignore_global'
# Ignore bundler config.
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
/db/*.sqlite3-journal
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
# Ignore other unneeded files.
doc/
*.swp
*~
.project
.DS_Store
.idea

添加文件並提交:
把rails項目中的文件添加到git中,然後提交結果,git會按照.gitignore中的規則忽略文件
# git add .

查看狀態:
通過這個命令你可以看到你提交那些文件,那些文件發生了改變
# git status

結果如下:
# 位於分支 master
# 要提交的變更:
# (使用 "git reset HEAD <file>..." 撤出暫存區)
#
# 修改: README.md
#
添加注釋:
添加commit,記錄git你改變了哪些改動:
# git commit -m "add README.MD"

結果:
[master 9e22467] add README.MD
1 file changed, 1 insertion(+), 1 deletion(-)
查看提交歷史信息:
# git log

結果:
commit 9e22467c28fffff0c81e088d7787672489a87a3d
Author: Leon Hao <[email protected]>
Date: Wed Oct 30 17:38:24 2013 +0800
add README.MD
commit 7179995695f7f8852dd3d4e2b6b3ef63878d6cfb
Author: Leon Hao <[email protected]>
Date: Wed Oct 30 15:30:45 2013 +0800
add README file
commit 29001e46fdcee1838215416f558d4a5110a6834e
Author: Leon Hao <[email protected]>
Date: Wed Oct 30 15:25:26 2013 +0800
doccenter commit
撤銷這次改動:
可以看到一個文件被刪除了,但是這個改動只發生在工作區,還沒有提交。這樣我們就可以用checkout命令切換到前一個提交記錄來撤銷這次改動(其中-f意思是復制當前的改動)
# git checkout -f

分支,編輯,提交,合並
分支:
Git中的分支功能很強大,分支是對倉庫的復制,在分支中所做的改動不會影響父級文件,大多數情況下,父級倉庫是master分支,可以使用checkout命令,並指定-b創建一個新分支。
# git checkout -b testfz

查看分支:
# git branch

編輯:
# git mv README.rdoc README.md

提交:
查看狀態
# git status

添加:
# git add .

注釋:
# git commit -a -m "add"

-a:將現有的文件的所有改動(包括使用git mv創建的文件,對git來說並不是一個新的文件)添加進來
合並:
# git checkout master

結果:
切換到分支 'master'
# git merge testfz

結果:
更新 9e22467..3d64e79
Fast-forward
README.md | 1 -
1 file changed, 1 deletion(-)
清理分支:
# git branch -d testfz

GitHub
已經將項目代碼納入git版本控制系統,現在將其推送到github了,github是一個針對git倉庫及分享社交平台,將代碼拷貝存放一份到github有兩個目的:其一是對代碼的完整備份(包括完整的提交歷史),其二方便以後的協作,這一步不是必須要做的,不過加入github可以給你提供機會參與到更廣為認知的開源項目來
1、首先需要到github注冊帳號
注冊地址:https://github.com/
2、創建ssh keys
用於通過key的方式將git項目推送至github中
官方說明:
https://help.github.com/articles/generating-ssh-keys#platform-linux
# cd ~/.ssh/
# ssh-keygen -t rsa -C "[email protected]"

將ssh key添加再自己的github中,連接為
https://github.com/settings/ssh
3、創建倉庫的連接,設置如下:
https://github.com/new

4、上傳至github中
# git remote add origin [email protected]:haoxiaolu/doccenter
# git fetch
# git commit -a -m "add file"
# git add .
# git push

5、已經完成,可以直接再github中查看自己的項目

推薦閱讀

如何在 GitHub 建立組織 http://www.linuxidc.com/Linux/2013-08/88197.htm

GitHub Linux下使用方法 http://www.linuxidc.com/Linux/2013-06/86417.htm

Windows下Eclipse搭建GitHub開發環境圖文教程 http://www.linuxidc.com/Linux/2013-06/85372.htm

R語言 3.0.1 源碼已經提交到 GitHub http://www.linuxidc.com/Linux/2013-05/84425.htm

從GitHub將Maven項目導入Eclipse4.2 http://www.linuxidc.com/Linux/2013-04/83082.htm

Copyright © Linux教程網 All Rights Reserved