zoukankan      html  css  js  c++  java
  • Git – 1.9 安装配置图文教程 [ windows ]

    Git在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。Git最初被Linus Torvalds开发出来用于管理Linux内核的开发。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖 于网络和中心服务器。

    Git的出现减轻了许多开发者和开源项目对于管理分支代码的压力,由于对分支的良好控制,更鼓励开发者对自己感兴趣的项目做出贡献。其实许多开源项目 包括Linux kernel, Samba, X.org Server, Ruby on Rails,都已经过渡到使用Git作为自己的版本控制工具。

    对于开发者来说有两点最大的好处:
    一、可以在任何地点提交自己的代码和查看代码版本。
    二、可以开许许多多个分支来实践想法,而合并这些分支的开销几乎可以忽略不计。

    PS.以上解释来自网络。

    Git 安装

    首先从官网下载最新安装包:下载地址


    下载完成后,点击安装程序进行安装:
    选择安装地址,如果不需选择,可使用默认设置。

    使用默认设置。

    这里是设置命令行操作方式:
    (use git bash only / 只在 git bash 中运行命令)
    (run git from the windows command prompt / 可以在 windows 命令提示符中运行命令)

    这个……说实话,我不知道这个选项是什么意思,Google翻译出来的意思不理解,网上有两个意思,不知道哪个更靠谱点,还是选默认吧:

    安装结束:

    Git 配置

    Github是一个基于Git的日益流行的开源项目托管库,随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
    如果你在 Github 上拥有一个账号,你就等于拥有了一个远程版本库,你可以将本地的代码提交到远程版本库。拥有一个远程版本库在团队协同编辑一个项目的时候尤为方便。每个成员可以随时随地将自己的代码提交到远程,保持远程项目时刻更新到最新版本,并且可以查看每次更新内容及提交人,还可以在代码出错的时候回退到上一个正确的版本……
    这里的配置讲的就是如何让你本地的 Git 和 Github 上的远程版本库建立联系。

    一、打开操作界面

    Git安装好了,在哪里操作呢?
    现在我们可以通过两种方法打开操作界面:

    1. 在开始菜单中找到 “Git GUI” 和 “Git Bash”
    2. 随便找一个文件夹,右键单击,在弹出的菜单中可以看到 “Git GUI” 和 “Git Bash”

    如下图,我的系统是WIN8,开始菜单是这样的:

     

    Git GUI 和 Git Bash 是 Git 两种不同的操作界面,打开看看就知道,一个是命令行操作,一个是图形操作界面,如下图:


    根据你的喜好,任意选择一种就行。在下列的演示中,我只用一种操作方式来演示,另一种问度娘或自己摸索吧。

    二、Git配置

    Git 为什么要配置呢?大概是因为 Git 没有一个登陆按钮,我一点登陆,输入用户名密码,所有信息就同步了吧,对于这点,我很怨念。
    Git有一些配置项,虽然我现在大部分都不知道他们是什么意思,有什么用,但我可以给你展示出来,如下图:

    当你打开 Git Bash 命令窗口后,输入 git config -l 命令后,会列出配置项。

    这一列配置中倒数第二、三行中,user.name = hjane 和 user.email = hjane1985@qq.com 我看着很眼熟……哦,我想起来了,这是我自己设置上的。
    设置方式来自度娘,虽然不甚了解,我本着实践是检验事实的唯一真理这条原则,如下所示敲出命令:

    然后根据命令来进行合理猜测:git config –global user.name “hjane”
    其中 git config 根据语义理解就知道是命令,user.name 应该表示设置 user.name 的值,“” 双引号表示里边的内容是可设置的,也就是 user.name 的值。
    –global 是什么意思呢?先百度一下,然后知道了:
    –system :表示改设置针对这台计算机的所有用户都有效。
    –global :标识改设置针对当前用户有效。

    当然也有针对单个项目的设置,据说在项目文件夹下的 .git 文件夹中的设置,只针对该项目生效。
    我打开一个项目,再其下找到了一个隐藏文件夹 .git 文件夹内有一个 config 文件,打开发现里边有一些设置项,如下图:


    关于设置,我只了解到了这里,也只能说到这里了,你可以先设置一下自己的用户名和邮件地址,其他的等你用到后再去研究。

    三、克隆一个项目

    以上说了那么多,如果你还是个初学者,估计还云里雾里摸不着头脑,我总觉得无论熟悉一个软件还是学习一种语言,看再多理论也不如先动手做一下,哪怕做错了,也有收获,因为你会开始思考为什么对,为什么错。如果做对了,你又会思考,下一步该怎么做……当你思考的时候,才是你开始跨入门槛的时候。

    好吧,做的第一步,让我们来克隆一个项目到本地,克隆虽然用命令行也能做到,但显然用 Git GUI 更直观一点。
    让我们先打开 Git GUI 然后点击“已有版本库”,进入下一步,如图所示:

    源位置(Source Location):是要克隆的内容。
    目标目录(Target Directory):是要克隆到的位置。

    上图中,目标目录我选择了一个本地目录,那么源位置是从哪里来的呢?看下图:

    当你再 Github 上打开一个项目后,可以在右侧看到 HTTPS clone url,这个就是可以克隆项目的克隆地址。
    你可以用以上方式克隆任意一个开源项目。

    四、简单的提交流程

    好了,现在,你克隆了一个项目了,接下来你最想做的操作就是操作一下这个项目,然后将它提交到远程版本库吧!
    那么一个提交流程,需要几个命令呢?
    首先要提交,就要有新的内容变动,不然远程和本地的文件一致,提交就没有意义了。
    我在上文我克隆的 Blog 项目文件夹中新建了一个 index.html文件,输入:git status 检测项目是否有新文件,入下图:

    发现了一个新文件,那么我需要把它添加到暂存中,我用:git add . ,不要忽略最后的那个点,这个表示将当前目录下所有的新文件都添加进去,也可以把 “.”,换成具体的文件名,表示只添加这一个文件。添加好后,我再输入:git status 检查一下,发现有一个文件,已经添加到暂存了,只是还没提交。

    PS.为什么要添加到暂存中,是因为每次提交,并不是把所有文件都提交一遍,而是增量提交,需要把新加和新修改的文件添加到暂存中,提交只提交暂存中的文件。

    好了,让我们提交一下,输入:git commit -m “add index”,这表示我希望现在把暂存的文件提交一下,这次的提交并不是提交到远程版本库,而是提交到本地,如图:

    要想将本地的改动提交到远程版本库,需要:git push ,如图:

    其中会中断两次,提示输入用户名和密码,需要注意的是,再输入密码的时候,光标处不会显示任何字符,你只需要输入正确然后回车就行。

    Username for ‘https://github.com’:
    Password for ‘https://hjane@github.com’:

    好了,虽然弹出一大段提示,但是显然提交成功了,现在让我们登陆 Github,可以看到index.html已经被提交上去了:

    目的已经达成,现在让我们回过头看看那段英文提示是什么意思。

    因为我英文很差,所以每当看到大段英文提示的时候就很头大……把命令行中的提示全部复制到 google 翻译,可以看到提示中警告我设置一下:git config –global push.default …其中似乎还有一个新旧版本的不同,这个先不管它,搜索一下 push.default ,知道原来这个设置是定义将本地的改动提交到远程版本库的哪个分支上去。

    好吧,到了这里,如果想用好 Git,就没办法回避分支这个概念了,不过这篇博文我主要演示如何安装配置 Git,这些讲起来就没完了……所以再最后提供几篇参考材料,可以自行研究理解,现在我们直接用默认的设置,输入:git config –global push.default simple,回车,然后继续。

    五、ssh 密钥

    由上文我们可以发现,只要是开源项目,我们都能克隆到本地,但是编辑提交到远程版本库还需要一个密码来验证一下,就如同上文我 git push 的时候的那样:
    本地提交文件:咚咚!有人在吗,我来提交文件了!
    远程版本库:你是谁啊,对下暗号吧,对不上不给开门!
    本地提交文件:密码是:xxxxx
    远程版本库:密码正确,进来吧!

    好吧,每次都要对下密码也太麻烦了,如果有一个令牌就好了,像这样:
    本地提交文件:令牌在此,速速开门!
    吱~~~~~(开门声)

    看多方便!

    好了,现在我们来研究下如何搞这个令牌,也就是 ssh 密钥。

    Git使用https协议,每次pull, push都要输入密码。如果使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。

    使用 ssh 有三个步骤:

    1. 本地生成密钥对(密钥 + 公钥)
    2. 设置github上的公钥
    3. 修改git的remote url为git协议

    1. 本地生成密钥对(密钥 + 公钥)

    先测试一下本地是否存在密钥对,如图:

    我之前生成过,所以我本地有一对密钥:id_rsa 和 id_rsa.pub,其中 id_rsa 为密钥,id_rsa.pub 为公钥。
    由此可见密钥对的特点:同名,且有一个后缀为 .pub

    如果没有,可以输入:ssh-keygen -C “” -t rsa 生成密钥,-C 中的 C 为大写,如图:

    2. 设置github上的公钥

    先查看本地生成的密钥对中的公钥,输入:cat ~/.ssh/id_rsa.pub,如图:

    复制公钥,打开 Github 网站,添加到如图位置:

    最后,可以输入:ssh -T git@github.com 查看下公钥是否添加正确,如图:

    3. 修改本地的ssh remote url. 不用https协议,改用git 协议

    使用:git remote -v 查看当前的remote url,如图:

    可以看到是使用 https 协议进行访问的,你可以在项目页面找到 ssh 协议相应的 url,在找 clone url 的位置点击 ssh ,上方的文本框中显示的就是 ssh url,如图:

    使用 git remote set-url 来调整你的 url 为 ssh url,如图:

    最后再次 git remote -v 了一下,发现 url 已经成功修改。

    好了,这篇长的不行的博文到这里就结束了,希望能帮到你~

  • 相关阅读:
    HDU4857 逃生 拓扑排序
    HDU1285 确定名次 拓扑排序
    【noip模拟赛4】找啊找啊找BF 拓扑排序
    拓扑排序基础
    【noip模拟赛5】任务分配 降维dp
    【noip模拟赛6】收入计划 最大值的最小值 二分答案
    【noip模拟赛5】水流
    标记预期失败
    跳过:
    pytest配置文件:
  • 原文地址:https://www.cnblogs.com/hjane1985/p/3620267.html
Copyright © 2011-2022 走看看