GIT使用入門篇(管理自已的代碼)

一、Git介紹

  Git 是一款免費的、開源的、分佈式的版本控制系統。旨在快速高效地處理不管規模大小的任何軟件工程。git

每個 Git克隆 都是一個完整的文件庫,含有所有歷史記錄和修訂追蹤能力,不依賴於網絡鏈接或中心服務器。其最大特點就是「分支」及「合併」操做很是快速、簡便。github

二、Git和Svn的區別

  SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,而幹活的時候,用的都是本身的電腦,因此首先要從中央服務器哪裏獲得最新的版本,而後幹活,幹完後,須要把本身作完的活推送到中央服務器。集中式版本控制系統是必須聯網才能工做,若是在局域網還能夠,帶寬夠大,速度夠快,若是在互聯網下,若是網速慢的話,就納悶了。web

       Git是分佈式版本控制系統,那麼它就沒有中央服務器的,每一個人的電腦就是一個完整的版本庫,這樣,工做的時候就不須要聯網了,由於版本都是在本身的電腦上。既然每一個人的電腦都有一個完整的版本庫,那多我的如何協做呢?好比說本身在電腦上改了文件A,其餘人也在電腦上改了文件A,這時,大家兩之間只需把各自的修改推送給對方,就能夠互相看到對方的修改了。bash

三、Git安裝

1)在 Linux 上安裝

若是要在 Linux 上安裝預編譯好的 Git 二進制安裝包,能夠直接用系統提供的包管理工具。在 Fedora 上用 yum安裝:服務器

$ yum install git-core

在 Ubuntu 這類 Debian 體系的系統上,能夠用 apt-get 安裝:網絡

$ apt-get install git

2)在 Mac 上安裝

在 Mac 上安裝 Git 有兩種方式。最容易的當屬使用圖形化的 Git 安裝工具,界面如圖 1-7,下載地址在:ssh

http://code.google.com/p/git-osx-installer

另外一種是經過 MacPorts (http://www.macports.org)安裝。若是已經裝好了 MacPorts,用下面的命令安裝 Git:分佈式

$ sudo port install git-core +svn +doc +bash_completion +gitweb

這種方式就不須要再本身安裝依賴庫了,Macports 會幫你搞定這些麻煩事。通常上面列出的安裝選項已經夠用,要是你想用 Git 鏈接Subversion 的代碼倉庫,還能夠加上 +svn 選項,具體將在第八章做介紹。(譯註:還有一種是使用homebrew(https://github.com/mxcl/homebrew):brewinstall gitsvn

3)在 Windows 上安裝

在 Windows 上安裝 Git 一樣輕鬆,有個叫作 msysGit 的項目提供了安裝包,能夠到 GitHub 的頁面上下載 exe安裝文件並運行:工具

http://msysgit.github.com/

完成安裝以後,就可使用命令行的 git工具(已經自帶了ssh 客戶端)了,另外還有一個圖形界面的 Git 項目管理工具。

四、Git本地倉庫使用

1)初始化

git init

cd到你本地的工程目錄,初始git使用環境,當前目錄下會建立一個.git目錄。

image

我這是以前init過了,因此會提示reinit。

2)添加文件到版本庫

git add [file/dir]

這樣,把文件添加到git本地管理目錄中,這相似Svn的add操做,實際上,尚未提交到本地管理倉庫。利用

git status

經過git status能夠看到,剛纔的添加操做,對於本地倉庫的文件有沒有什麼變化?

image

下一步,須要把readme.txt添加到本地倉庫中去,利用:

git commit -m '你的註釋說明'

這樣,就把文件添加到了本地Git倉庫了。

image

固然,你能夠再運行git status,看一下,還有沒有沒提交的代碼。如今本地倉庫的提交已完成,下節會講到如何把本地倉庫和遠程Github倉庫相關聯。

五、Git遠程倉庫使用

先註冊github帳號,因爲你的本地Git倉庫和github倉庫之間的傳輸是經過SSH加密的,因此須要一點設置:

1)建立SSH Key

在用戶主目錄下,看看有沒有.ssh目錄,若是有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,若是有的話,直接跳過此以下命令,若是沒有的話,打開命令行,輸入以下命令:

ssh -keygen  -t rsa –C 「youremail@example.com」

因爲我本地此前運行過一次,因此本地有,以下所示:

image

本人是記不得路徑的(建議能夠安裝everything這個軟件,找文件很是方便)

登陸github,打開「settings」中的SSH Keys頁面,而後點擊「Add SSH Key」,填上任意title,在Key文本框裏黏貼github_rsa.pub文件的內容。

image

2)添加遠程倉庫

咱們已經在本地建立了一個Git倉庫後,又想在github建立一個Git倉庫,而且但願這兩個倉庫進行遠程同步,這樣github的倉庫能夠做爲備份,又能夠其餘人經過該倉庫來協做。

image

image

點擊」Create repository「,便建立了一個遠程倉庫。

3)關聯本地Git倉庫

目前,在GitHub上的這個test倉庫仍是空的,GitHub告訴咱們,能夠從這個倉庫克隆出新的倉庫,也能夠把一個已有的本地倉庫與之關聯,而後,把本地倉庫的內容推送到GitHub倉庫。

如今,咱們根據GitHub的提示,在本地倉庫下運行命令:

若是提示:

image

提示出錯信息:fatal: remote origin already exists.

找到你的github的安裝路徑,個人是C:\Users\Administrator\AppData\Local\GitHub\PortableGit_054f2e797ebafd44a30203088cd3d58663c627ef\etc

找到一個名爲gitconfig的文件,打開它把裏面的[remote "origin"]和下面對應的幾行刪掉便可。

4)提交本地代碼到遠程倉庫

git push –u origin master

咱們第一次推送master分支時,加上了 –u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在之後的推送或者拉取時就能夠簡化命令(不用加-u)。

可是敲入命令後,出現以下問題。

image

緣由是:在Github新建目錄時,同時選擇了建立一個readme.txt,這樣形成了遠程倉庫和本地倉庫版本不一致。

解決辦法:

image

git pull [remote_path] master

至關於把遠程目錄拉下作一個代碼版本合併的操做。

image

Ok,至此,整個工程就添加上去了

相關文章
相關標籤/搜索