ubuntulinux吧 关注:3,136贴子:49,910

git 快速入门

只看楼主收藏回复

最近看到吧里有人讨论 git 的相关东西,鉴于 git 在 Linux 下有着十分重要的地位(许多发行版包括 Ubuntu 都默认安装了该软件),下面我们就简单地介绍下 git 的相关使用技巧。下面的文章是由 @xw_y_am 首先发布在 51开源社区 的,现全文转载。对于非盈利目的的引用,引用者按需自主决定是否标明作者和出处;对于盈利目的的引用,望请使用前通知原作者。


1楼2012-10-26 10:40回复
      按照通常的惯例,我们先扯一些没用的东西。
      咱们先来说说什么是版本控制。所为版本控制,现在大多特指代码工程的版本控制,意指追踪记录项目从开始一直到最后定稿期间项目副本的一切更改,借此控制项目的整个进展流程。同时,允许多个人同步共享版本现状,并分别有读写权限控制,以保证项目代码的安全性。
      文主角 Git 就是是一个由 Linus Torvalds 大神为了更好地管理linux内核开发而创立式版本控制软件。当然,一切的根源都是因为大神觉得之前用的 Linux 内核版本管理工具实在是太不爽了,于是大神随手写了这么个东西。于是乎这个东西就广为传诵了。
      现在,通过 Git 进行版本控制的项目数不胜数,其中著名的有:Linux 内核,Archlinux、Debian、Fedora、openSUSE、Linux Mint 等知名发行版,Perl 和 Ruby 语言的源代码,以及 Gnome、GTK、GIMP 等应用软件项目。一些著名的代码管理网站,如 Google Code、SourceForge 等都支持通过 Git 进行的源码存取服务。
      当然了,我们的二号主角 GitHub 是目前最流行的使用 Git 进行版本控制的代码管理网站。GitHub同时提供商业账户和为开源项目提供的免费账户。不过遗憾的是,GitHub 主页目前尚不支持中文访问,因此一些最基本的英语能力也是需要的。
    好了,废话就这么多,下边开始正文。


    3楼2012-10-26 10:42
    回复
      2026-04-24 14:42:36
      广告
      不感兴趣
      开通SVIP免广告


        注册标识非常明显,这么大一个蓝色的按钮相信大家一眼就看到了。点击进入后就有一个费用的选择,一半用户选择 OpenSource 的 Free 就可以了,毕竟个人的代码也没有闭源的必要。

        之后输入过注册信息后,就可以 Creat an account 了。成功后可以验证一下邮箱,用以接受 GitHub 的邮件。


      5楼2012-10-26 10:44
      回复
          登录后,在上传代码之前要进行一些必要的配置。首先要建立一个 Repository 版本仓库。

          听起来很玄幻,但其实就是一个文件夹,里边可以扔进去许多源代码文件。当然,它里边能再建立子文件夹,因此可以将其理解为根目录性质的东西。至于版本库的名字可以随便起,不过貌似没有空格而是用连字符代表空格。至于名字是否大小写敏感我也没有尝试过,大家有兴趣可以试一试。

        版本库有一个名字就足够了,至于下边的选项,暂时可以无视,日后随着需要的加强,可以慢慢补充。


        6楼2012-10-26 10:45
        回复
          OK,至此网上的事情可以告一段落了,下面就该本地设置了。不过网页不要关掉,马上还会用到。首先配置 ssh。
                   ssh-keygen -t rsa -C "邮箱"
          注意此处邮箱要留当时注册时用的邮箱。此时在 ~/.git/ 文件夹下生成两个文件 id_rsa 和 id_rsa.pub。其中 id_rsa 时私钥,id_rsa.pub 是公钥,想更深入了解就涉及到 RSA 的相关知识,网上许多,烦请自行搜索。现在用随便一个编辑器打开 pub 文件,完全复制文件里的内容。然后进入自己的 GitHub 主页,点击进入右上角中间的扳手图标,进入用户设置,找到 SSH Keys 项,Add SSH key 按钮,随便起一个标题,然后把刚才复制的东西原样粘贴进 Key 文本框中。然后点下绿色按钮递交修改。


          然后使用
                      ssh git@github.com
          对远程连接进行测试,如果回显信息是
                      Hi ***! You've successfully authenticated...
          那就说明连接成功了。随后网页将会在很长一段时间中没用了。。。。
            接下来就该设置 Git 本身了。首先设置一下 Git 的用户信息。打开终端,输入命令:
                      git config --global user.name "用户名"
                      git config --global user.email 邮箱
          中文部分分别是自己的用户名和邮箱,注意用户名有引号,邮箱木有引号。当然,用户名和邮箱要跟注册 GitHub 时输入的保持一致。


          7楼2012-10-26 10:47
          回复
              上述过程是在本地进行版本维护的提交,如果想将变更提交到 GitHub 去,需要进行下边的设置和操作。
            首先,为远程代码库设置一个代号,以方便使用,执行
                      git remote add 名字代号 git@github.com:用户名/版本库名字
            其中的汉字部分分别用相关的内容进行替换,这样就设置完毕。下一步执行
                      git push 名字代号 master
            就可以将本地的最新内容推送到 GitHub 服务器上。之后就可以通过网页访问查看自己的代码。而使用
                      git pull 名字代号 master
            则可以从远程拉取版本库,以更新本地信息。
             欧了,Git 和 GitHub 的一些简单入门操作就介绍到这里,希望得到更深入了解,请自行搜索教程,本人力不能及,万望海涵。另如文章中有谬误之处,烦请告知以便本人更改。


            10楼2012-10-26 10:50
            回复
              魂淡啊,这么好的帖子没人顶啊


              IP属地:江苏11楼2012-10-26 13:02
              收起回复
                MARK


                IP属地:福建12楼2012-10-26 14:01
                回复
                  2026-04-24 14:36:36
                  广告
                  不感兴趣
                  开通SVIP免广告
                  马了个克,虽说我纯属打酱油


                  IP属地:广东来自手机贴吧14楼2012-10-26 18:20
                  回复



                    15楼2012-10-26 19:10
                    回复
                      学习了


                      IP属地:重庆16楼2012-10-30 11:43
                      回复
                        这个看官方文档就够了,写的很好。也有中文版的。


                        IP属地:上海17楼2012-10-30 12:42
                        回复
                          叶神。。。


                          18楼2012-12-06 13:42
                          收起回复
                            看不懂


                            IP属地:上海来自手机贴吧19楼2012-12-06 14:14
                            回复
                              2026-04-24 14:30:36
                              广告
                              不感兴趣
                              开通SVIP免广告
                              http://git-scm.com/book/zh
                              这个也不错,更详细


                              IP属地:广东20楼2012-12-06 14:17
                              收起回复