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

[经验分享] Ubuntu git 安装和使用

[复制链接]

尚未签到

发表于 2016-4-19 10:47:15 | 显示全部楼层 |阅读模式
  1.安装程序
  sudo apt-get install git
  sudo apt-get install git-core
  2.那通过命令更新版本库
  git clone git://git.kernel.org/pub/scm/git/git.git
  3.创建一个新版本库
  mkdir gittutorch
  cd gitturtorch
  git-init-db
  这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。你可以用 ls -a 查看一下,并请注意其中的三项内容:
  一个叫 HEAD 的文件,我们现在来查看一下它的内容:
  $ cat .git/HEAD
  现在 HEAD 的内容应该是这样:
  ref: refs/heads/master
  我们可以看到,HEAD 文件中的内容其实只是包含了一个索引信息,并且,这个索引将总是指向你的项目中的当前开发分支。
  一个叫 objects 的子目录,它包含了你的项目中的所有对象,我们不必直接地了解到这些对象内容,我们应该关心是存放在这些对象中的项目的数据。
  一个叫 refs 的子目录,它用来保存指向对象的索引。
  具体地说,子目录 refs 包含着两个子目录叫 heads 和 tags,就像他们的名字所表达的意味一样:他们存放了不同的开发分支的头的索引, 或者是你用来标定版本的标签的索引。
  请注意:master 是默认的分支,这也是为什么 .git/HEAD 创建的时候就指向 master 的原因,尽管目前它其实并不存在。 git 将假设你会在 master 上开始并展开你以后的工作,除非你自己创建你自己的分支。
  另外,这只是一个约定俗成的习惯而已,实际上你可以将你的工作分支叫任何名字,而不必在版本库中一定要有一个叫 master 的分支,尽管很多 git 工具都认为 master 分支是存在的。
  现在已经创建好了一个 git 版本库,但是它是空的,还不能做任何事情,下一步就是怎么向版本库植入数据了。
  第四步:植入内容跟踪信息:git-add:
  为了简明起见,我们创建两个文件作为练习:
  $ echo "Hello world" > hello
  $ echo "Silly example" > example
  我们再用 git-add 命令将这两个文件加入到版本库文件索引当中:
  $ git-add hello example
  git-add 实际上是个脚本命令,它是对 git 内核命令 git-update-index 的调用。因此上面的命令和下面的命令其实是等价的:
  $ git-update-index --add hello example
  如果你要将某个文件从 git 的目录跟踪系统中清除出去,同样可以用 git-update-index 命令。例如:
  $ git-update-index --force-remove foo.c
  git-add 可以将某个目录下的所有内容全都纳入内容跟踪之下,例如: git-add ./path/to/your/wanted 。但是在这样做之前,应该注意先将一些我们不希望跟踪的文件清理掉,例如,gcc 编译出来的 *.o 文件,vim 的交换文件 .*.swp 之类。
  应该建立一个清晰的概念就是,git-add 和 git-update-index 只是刷新了 git 的跟踪信息,hello 和 example 这两个文件中的内容并没有提交到 git 的内容跟踪范畴之内。
  第五步:提交内容到版本库:git-commit
  既然我们刷新了 Git 的跟踪信息,现在我们看看版本库的状态:
  $ git-status
  我们能看到 git 的状态提示:
  #
  # Initial commit
  #
  #
  # Updated but not checked in:
  # (will commit)
  #
  # new file: example
  # new file: hello
  #
  提示信息告诉我们版本库中加入了两个新的文件,并且 git 提示我们提交这些文件,我们可以通过 git-commit 命令来提交:
  $ git-commit -m "Initial commit of gittutor reposistory"
  第六步:查看当前的工作:git-diff
  git-diff 命令将比较当前的工作目录和版本库数据库中的差异。现在我们编辑一些文件来体验一下 git 的跟踪功能。
  $ echo "It's a new day for git" >> hello
  我们再来比较一下,当前的工作目录和版本库中的数据的差别。
  $ git-diff
  差异将以典型的 patch 方式表示出来:
  diff --git a/hello b/hello
  index 802992c..8fdaa4e 100644
  --- a/hello
  +++ b/hello
  @@ -1 +1,2 @@
  Hello world
  +It's a new day for git
  此时,我们可以再次使用组合命令 git-update-index 和 git-commit 将我们的工作提交到版本库中。
  $ git-update-index hello
  $ git-commit -m "new day for git"
  实际上,如果要提交的文件都是已经纳入 git 版本库的文件,那么不必为这些文件都应用 git-update-index 命令之后再进行提交,下面的命令更简捷并且和上面的命令是等价的。
  $ git-commit -a -m "new day for git"
  一些命令:
  初始化git数据库
  $ git-init-db
  添加文件
  $ git-add hello.c
  查看修改、提交记录
  $ git-log
  创建分支
  $ git-branch roredu
  查看分支
  $ git-branch
  * master
  roredu
  切换工作分支
  $ git-checkout roredu
  Switched to branch "roredu"
  $ git-branch
  master
  * roredu
  提交到当前工作分支并书写标记。
  $ git-commit -a
  创建xux分支对于master的补丁文件。
  $ git-format-patch master roredu
  配置开发者自己的签名和email。
  $ git-config --global user.name "roredu"
  $ git-config --global user.email "roredu@gmail.com"
  修改文件名
  $ git-mv roredu.c helight.c
  删除文件
  $ git-rm roredu.c
  协同工作,下载项目:
  git-clone ssh@wtb:192.168.0.21/home/wtb/NetBeansProjects/project1
  这里wtb是用户名, 192.168.0.21是项目所在机器的IP 后面跟着的是项目目录和名称

运维网声明 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-206040-1-1.html 上篇帖子: ubuntu 下搭建GIT server 下篇帖子: Ubuntu下安装GIT
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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