ubuntu下git安裝及使用

Jack Ge發表於2013-08-17

  其實,好幾個月前,就已經安裝好了,可是一直擱置在那兒,所以密碼等一些其它細節都忘的差不多了,所以今天就重新部署了一下,並開始積極使用。。。。。。。。。

1,git 安裝:

  sudo apt-get install git-core openssh-server openssh-client

  $ sudo apt-get install git-core git-gui git-doc 

  sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev git-core   (注意:紅色部分很多網站都寫錯了,坑吶。。。。git-core是git的安裝包,其他的是git所依賴的安裝包)
 
  如果需要在push到網上:
    
    a、如果只是需要將github上感興趣的程式碼拷貝到本地,自己進行修改使用,而不打算共享釋出的話,其實不申請帳號也沒有關係,只需要 git clone 程式碼到本地就可以了。本文對這種方法
 
不做討論,畢竟使用 github就是為了開源的目的。首先去 https://github.com/ 上註冊一個帳號,具體的註冊流程就不贅述了。
    
    b、在本地建立一個資料夾,然後做一些全域性變數的初始化

        git config --global user.name  "使用者名稱或者使用者ID"

        git config --global user.email  郵箱

    這兩個選項會在以後的使用過程中自動新增到程式碼中

    c、建立驗證用的公鑰

 

      這個是比較複雜和困擾大多數人的地方,因為 git 是通過 ssh 的方式訪問資源庫的,所以需要在本地建立驗證用的檔案。

 

      使用命令:ssh-keygen -C 'you email address@gmail.com' -t rsa        會在使用者目錄 ~/.ssh/ 下建立相應的金鑰檔案

 

      可以使用 ssh -v git@github.com 命令來測試連結是否暢通

    d、上傳公鑰

      在 github.com 的介面中 選擇右上角的 Account Settings,然後選擇 SSH Public Keys ,選擇新加。

      Title 可以隨便命名,Key 的內容拷貝自 ~/.ssh/id_rsa.pub 中的內容,完成後,可以再使用 ssh -v git@github.com 進行測試。看到下面的資訊表示驗證成功。

          

2,建立專案:

  a、建立本地新專案工作樹
      # mkdir new-project
      # cd new-project
      # git init
      # touch README
      # git add README     (上傳README 檔案)
      # git commit -m 'first commit'
      定義遠端伺服器別名origin
      #  git remote add origin git@github.com:xxx/new-project.git     (origin 在這裡就是 git@github.com:xxx/new-project.git 的一個別名, 一個 url 連結)
      本地和遠端合併,本地預設分支為master
      # git push origin master  (執行這一步可能會有報錯)

      如果出現報錯為

        ERROR: Repository not found.
        fatal: The remote end hung up unexpectedly

      則代表你的 origin  的url 連結有誤,可能是建立錯誤,也可能是這個  git@github.com:xxx/new-project.git  url 指定不正確。

      重新建立。

        如果報錯為 ()

         error: src refspec master does not match any.

         All I had to do was:

         $~ git commit -m 'initial commit'
         $~ git push origin master

    Success!

 

  b、更新檔案:

    # vi README
    自動commit更改檔案
    # git commit -a     
    更新至遠端
    # git push origin master

    如果報錯的話:

      ssh: connect to host github.com port 22: Connection timed out

      fatal: The remote end hung up unexpectedly

    解決方法:http://www.cnblogs.com/kysnail/archive/2012/03/31.html

  

  c、 建立和合並分支:

    #git branch 顯示當前分支是master

    #git branch new-feature  建立分支
    
# git checkout new-feature 切換到新分支

    # vi page_cache.inc.php
    # git add page_cache.inc.php
    Commit 到本地GIT
    # git commit -a -m "added initial version of page cache"
    合併到遠端伺服器
    # git push origin new-feature

    #

    Counting objects: 4, done.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 336 bytes, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To git@github.com:acanoe/hello_world.git
     * [new branch]      new-feature -> new-feature
    root@AC:~/hello_world#


    如果new-feature分支成熟了,覺得有必要合併進master

    #git checkout master
    #git merge new-feature
    #git branch
    #git push 
    則master中也合併了new-feature 的程式碼

    再登入到GitHub可以看見"Switch Branches"下的分支選項

 

到這裡,基本的操作也就完成了,在以後的操作中或許還會出現各種各樣的問題,所以會繼續更新,下面附一張git的命令表。。。。。。。

 

以下是參考連結:

 

http://blog.csdn.net/acanoe/article/details/8520330

http://blog.sina.com.cn/s/blog_55465b470100s63h.html

http://www.open-open.com/lib/view/open1332904495999.html

http://blog.csdn.net/gemmem/article/details/7290125

http://www.linuxsir.org/bbs/thread281294.html

http://www.iteye.com/topic/732199

http://www.stylejar.com/archives/ubuntu_install_git_server.html

http://www.oschina.net/question/54100_25448

http://blog.csdn.net/batoom/article/details/6594260

http://artori.us/git-github-usage/

 

 

相關文章