ubuntu14.04下git安装及使用

jerry ubuntu 2015年08月26日 收藏

其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用
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

如果需要在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 进行测试。看到下面的信息表示验证成功。
Screenshot_1[1].png          
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

解决方法:

在 /home/hallo/.ssh 目录中添加配置文件 config 。

Host github.com
User xxxx@gmail.com
Port 443
Hostname ssh.github.com
identityfile ~/.ssh/id_rsa

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

还有一种简单的安装方法:

linux下软件的安装方式有多种,最简单的莫过于从软件中心直接安装了或者用命令行直接安装

sudo apt-get install git

 但是这样的安装却使我们体会不到最新版本的功能,如果我们想要体验最新的,或者修改源代码,就必须编译安装了。我们可以直接在git 的官网
上下载并安装。
编译之前,我们必须首先安装以下软件,否则会编译不通过。

sudo apt-get install libcurl4-openssl-dev  libexpat1-dev

安装完后我们边可以编译了,当然编译之前我们必须进入源码所在的目录,至于怎么进,大家就自己解决吧,进入后执行下面命令进行编译:

make prefix=/usr/local all

最后执行

sudo make prefix=/usr/local install

进行安装。
最高明的方法还是我们自己在本地克隆一个git版本库,当然前提是你自己已经安装了git的否则的话,这种方发你是用不了的,克隆版本库:
首先进入你要存放的目录,当然也可以不进入,git clone 默认的第二个参数就是你的路径,省略的话就是你当前的路径:

git clone git://git.kernel.org/pub/scm/git/git.git

克隆后默认会检出(checkout)当前最新的代码当然你也可以装以往的版本,执行下面命令可以检查出历史所有的版本

git tag

比如我当下想检出v1.7.8.2,这个版本,我只需执行以下命令就行:

git checkout v1.7.8.2

检出后我们就可以使用上面介绍的方法进行编译了