您的位置:首页 > 运维架构 > Linux

linux_安装git以及相关的常用命令整理

2014-09-18 22:18 781 查看


git 从源代码安装

若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本。Git的每个版本都在不断尝试改进用户体验,所以能通过源代码自己编译安装最新版本就再好不过了。有些 Linux 版本自带的安装包更新起来并不及时,所以除非你在用最新的 distro 或者 backports,那么从源代码安装其实该算是最佳选择。

Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系),可以用下面的命令安装:

$ yum install curl-devel expat-devel gettext-devel \

openssl-devel zlib-devel

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \

libz-dev libssl-dev

之后,从下面的 Git 官方站点下载最新版本源代码:
http://git-scm.com/download
然后编译并安装:

$ tar -zxf git-1.7.2.2.tar.gz

$ cd git-1.7.2.2

$ make prefix=/usr/local all

$ sudo make prefix=/usr/local install

现在已经可以用 `git` 命令了,用 `git` 把 Git 项目仓库克隆到本地,以便日后随时更新:

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


### 在 Linux上安装 ###

如果要在 Linux 上安装预编译好的 Git 二进制安装包,可以直接用系统提供的包管理工具。在 Fedora 上用 yum 安装:

$ yum install git-core

在 Ubuntu 这类 Debian 体系的系统上,可以用 apt-get 安装:

$ apt-get install git-core




=====================Git的相关常用命令=========================

==============版本管理员操作========================
第一步: 创建数据仓库(例如目录为:/f/software/repository/git)

git init --bare shared.git

==============开发人员1操作=============================

第二步:进入user1的工作目录(例如/f/develop/workroom/user1) ,复制仓库到本地

git clone /f/software/repository/git/shared.git/ . (注意有个点,表明当前目录)

第三步:设置个人信息

git config user.name "user1"
git config user.email "user1@163.com"

第四步:忽略无需版本控制的文档,例如我想把项目目录下所有.txt的文档忽略,可以进行如下操作

echo "*.txt" > .gitignore

第五步:新建一个文件

echo "User1 add content" > index.jsp

第六步:提交文件

git add index.jsp
git commit -m "User1 add the file"

第七步:把自己的仓库提交到公共服务器

git push origin master

==============开发人员2操作=============================

第八步:进入user2的工作目录(例如/f/develop/workroom/user2) ,复制仓库到本地

git clone /f/software/repository/git/shared.git/ .

第九步:设置个人信息

git config user.name "user2"
git config user.email "user2@163.com"

第十步:忽略无需版本控制的文档

echo "*.txt" > .gitignore

第十一步: 修改index.jsp文件

echo "User2 add content" >> index.jsp

第十二步:提交文件

git add index.jsp
git commit -m "User2 add the file!"

第十三步:把自己的仓库提交到公共服务器

git push origin master

==============开发人员1操作=============================
第十四步:下载服务器最新数据

git pull


转载:

GIT在Linux上的安装和使用简介

GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS、Subversion不同,它不必服务器端软件支持,速度和效率也有着相当程度的提高。

www.2cto.com

如果拥有CVS或者SVN的使用背景,那么更熟悉的方法是客户端-服务器端模式,所有的文件仓库(repository)都是存放在服务器上的,用户需要在本地安装客户端去服务器上的项目中获取旧版本,提交新版本。

GIT抛弃了这种模式,当用户从远端GIT仓库下载一个工程(project)时,这个工程的所有文件,包括版本历史,文件改动都会下载下来,这时 候本地GIT就演变成了一个服务器,所有的提交(check-in)、提出(check-out)都会在这个本地服务器上执行,当你确定一项修改之后,可
以再和远端仓库进行合并和同步(merge)。所以,GIT的安装和配置步骤无论在本机还是服务器上都是完全一样的。

这里简单地介绍GIT在Linux上的安装和使用,算做一个新手入门的简单教程。另外,GIT是有Windows上的客户端的。

1、下载和安装GIT

从这里 http://git-scm.com/download 下载GIT或者使用wget命令获取

$ cd

$ wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2
以上地址若是无法下载到的话,请到http://download.csdn.net/detail/lovejuan007/3713236 下载

解压后切换到其目录

www.2cto.com

$ tar xvfj git-1.7.6.tar.bz2

$ cd git-1.7.6

使用默认配置进行安装,如果想修改配置,可以使用 ./configure --help 来获取帮助

$ ./configure

$ make

$ make install

2、初始化配置

GIT默认安装在 /usr/local/bin ,安装之后可以验证一下是否安装好

$ whereis git

git: /usr/local/bin/git

$ git --version

git version 1.7.6

$ git --help

首先需要指定用户名和电子邮件地址

$ git config --global user.name “GIT Admin”

$ git config --global user.emal obugs.net@gmail.com

再验证一下配置信息

www.2cto.com

$ git config --list

user.name=GIT Admin

user.email=obugs.net@gmail.com

core.repositoryformatversion=0

core.filemode=true

core.bare=false

core.logallrefupdates=true

其实这些配置是存放在个人主目录下的 .gitconfig 文件中的

$ cat ~/.gitconfig

[user]

name = GIT Admin

email = obugs.net@gmail.com

3、建立工程

本地存储的任何一个目录都可以建立GIT工程,如果已有工程位于 /home/obugs/projects/orangebugs 目录,就可以把这目录定义为GIT工程

$ cd /home/obugs/projects/orangebugs

$ git init

Initialized empty Git repository in /home/obugs/projects/orangebugs/.git/

这样就建立了一个名为 .git 的文件夹,这就是GIT用来存储信息和跟踪改动的文件夹。

www.2cto.com

$ ls -altr .git

total 40

drwxrwxr-x 4 git git 4096 Aug 13 22:39 refs

drwxrwxr-x 4 git git 4096 Aug 13 22:39 objects

drwxrwxr-x 2 git git 4096 Aug 13 22:39 info

drwxrwxr-x 2 git git 4096 Aug 13 22:39 hooks

-rw-rw-r -- 1 git git 23 Aug 13 22:39 HEAD

-rw-rw-r -- 1 git git 73 Aug 13 22:39 description

-rw-rw-r -- 1 git git 92 Aug 13 22:39 config

drwxrwxr-x 2 git git 4096 Aug 13 22:39 branches

drwxrwxr-x 36 git git 4096 Aug 13 22:39 ..

drwxrwxr-x 7 git git 4096 Aug 13 22:39 .

4、向工程添加和提交文件

这些动作和CVS、SVN等操作类似

$ git add *.java *.c

$ git commit -m ‘Initial upload of the project’

create mode 100755 Orangebugs.java

create mode 100755 pwm/ui/DataManager.java

create mode 100755 pwm/ui/PasswordFrame.java

create mode 100755 pwm/tools/StrongEncryption.java

create mode 100755 pwm/tools/PasswordStrength.java

..

注意如果之前没有使用 git config 指定用户名和电子邮件地址,这里会报错

$ git commit -m ‘Initial upload of the project'

*** Please tell me who you are.

www.2cto.com

Run

git config --global user.email “you@example.com”

git config --global user.name “Your Name”

to set your account’s default identity.

Omit --global to set the identity only in this repository.

fatal: empty ident not allowed

5、更改文件和提交改动

编辑文件、添加或者删除了一些字段

$ vi Orangebugs.java

查看和GIT仓库中的文件相比有了那些改动

$ git diff

diff --git a/Orangebugs.java b/Orangebugs.java

index 6166ed1..fd82d32 100644

— a/Orangebugs.java

+++ b/Orangebugs.java

@@ -2,7 +2,7 @@

- public counter=10

+ public counter=55

如果要提交,需要先确保将文件添加到了临时区域(staging area)然后才能提交,提交时会自动打开系统的默认编辑器,用户添加一些注释后保存并退出编辑器的时候,这些注释就同时提交到仓库中去了

www.2cto.com

$ git add Orangebugs.java

$ git commit

[master 80f10a9] Added password strength meter functionality

1 files changed, 56 insertions(+), 7 deletions(-)

或者,简单一点的方法是使用 git commit -a 把上面两个命令合二为一。

6、查看状态和查看注释

如果本地的文件和远端GIT仓库上的文件相比没有任何改动,则

$ git status

# On branch master

nothing to commit (working directory clean)

如果本地做了改动但是没有提交,则

$ git status

# On branch master

# Changes not staged for commit:

# (use “git add …” to update what will be committed)

# (use “git checkout — …” to discard changes in working directory)

#

# modified: Orangebugs.java

#

no changes added to commit (use "git add" and/or "git commit -a")

另外,可以用下面的命令查看文件历史和以往的注释

$ git log Orangebugs.java

commit c919ced7f42f4bc06d563c1a1eaa107f2b2420d5

Author: GIT Admin www.2cto.com

Date: Sat Aug 13 22:54:57 2011 -0700

Added password strength meter functionality

commit c141b7bdbff429de35e36bafb2e43edc655e9957

Author: GIT Admin

Date: Sat Aug 13 20:08:02 2011 -0700

Initial upload of the project



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: