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"下的分支选项

 

到这里,基本的操做也就完成了,在之后的操做中或许还会出现各类各样的问题,因此会继续更新

相关文章
相关标签/搜索