设为首页 收藏本站
查看: 681|回复: 0

[经验分享] GIT在Linux上的安装和使用简介

[复制链接]

尚未签到

发表于 2016-3-17 10:17:29 | 显示全部楼层 |阅读模式
  GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS、Subversion不同,它不必服务器端软件支持,速度和效率也有着相当程度的提高。
  如果拥有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
  解压后切换到其目录
  $ 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
  再验证一下配置信息
  $ 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用来存储信息和跟踪改动的文件夹。
  $ 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.
  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)然后才能提交,提交时会自动打开系统的默认编辑器,用户添加一些注释后保存并退出编辑器的时候,这些注释就同时提交到仓库中去了
  $ 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
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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-191941-1-1.html 上篇帖子: Linux_15分钟学会使用Git和远程代码库 下篇帖子: gitlab搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表