ubuntu下git安裝及使用

ubuntu下git安裝及使用

 

  其實,好幾個月前,就已經安裝好了,但是一直擱置在那兒,因此密碼等一些其它細節都忘的差很少了,因此今天就從新部署了一下,並開始積極使用。。。。。。。。。php

1,git 安裝:html

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

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

  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"ubuntu

        git config --global user.email  郵箱服務器

    這兩個選項會在之後的使用過程當中自動添加到代碼中ssh

    c、建立驗證用的公鑰curl

 

      這個是比較複雜和困擾大多數人的地方,由於 git 是經過 ssh 的方式訪問資源庫的,因此須要在本地建立驗證用的文件。post

 

      使用命令: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"下的分支選項

 

到這裏,基本的操做也就完成了,在之後的操做中或許還會出現各類各樣的問題,因此會繼續更新

相關文章
相關標籤/搜索