精华内容
下载资源
问答
  • 2022-04-05 14:36:04

    Git 安装配置

    在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。

    Git 各平台安装包下载地址为:http://git-scm.com/downloads


    Linux 平台上安装

    Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。

    在有 yum 的系统上(比如 Fedora)或者有 apt-get 的系统上(比如 Debian 体系),可以用下面的命令安装:

    各 Linux 系统可以使用其安装包管理工具(apt-get、yum 等)进行安装:

    Debian/Ubuntu

    Debian/Ubuntu Git 安装命令为:

    $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
      libz-dev libssl-dev
    
    $ apt-get install git
    
    $ git --version
    git version 1.8.1.2
    

    Centos/RedHat

    如果你使用的系统是 Centos/RedHat 安装命令为:

    $ yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
    
    $ yum -y install git-core
    
    $ git --version
    git version 1.7.1
    

    源码安装

    我们也可以在官网下载源码包来安装,最新源码包下载地址:https://git-scm.com/download

    安装指定系统的依赖包:

    ########## Centos/RedHat ##########
    $ yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
    
    ########## Debian/Ubuntu ##########
    $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
      libz-dev libssl-dev
    

    解压安装下载的源码包:

    $ 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
    

    Windows 平台上安装

    在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:

    安装包下载地址:https://gitforwindows.org/

    官网慢,可以用国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/。

    img

    完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

    在开始菜单里找到"Git"->“Git Bash”,会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。


    Mac 平台上安装

    在 Mac 平台上安装 Git 最容易的当属使用图形化的 Git 安装工具,下载地址为:

    http://sourceforge.net/projects/git-osx-installer/

    安装界面如下所示:

    18333fig0107-tn


    Git 配置

    Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。

    这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

    • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
    • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
    • 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

    在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings$USER。

    此外,Git 还会尝试找寻 /etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。

    用户信息

    配置个人的用户名称和电子邮件地址:

    $ git config --global user.name "runoob"
    $ git config --global user.email test@runoob.com
    

    如果用了 –global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。

    如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

    文本编辑器

    设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置::

    $ git config --global core.editor emacs
    

    差异分析工具

    还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

    $ git config --global merge.tool vimdiff
    

    Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。

    当然,你也可以指定使用自己开发的工具,具体怎么做可以参阅第七章。

    查看配置信息

    要检查已有的配置信息,可以使用 git config --list 命令:

    $ git config --list
    http.postbuffer=2M
    user.name=runoob
    user.email=test@runoob.com
    

    有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。

    这些配置我们也可以在 ~/.gitconfig/etc/gitconfig 看到,如下所示:

    vim ~/.gitconfig 
    

    显示内容如下所示:

    [http]
        postBuffer = 2M
    [user]
        name = runoob
        email = test@runoob.com
    

    也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:

    $ git config user.name
    runoob
    

    Git 工作流程

    本章节我们将为大家介绍 Git 的工作流程。

    一般工作流程如下:

    • 克隆 Git 资源作为工作目录。
    • 在克隆的资源上添加或修改文件。
    • 如果其他人修改了,你可以更新资源。
    • 在提交前查看修改。
    • 提交修改。
    • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

    下图展示了 Git 的工作流程:

    img

    Git 工作区、暂存区和版本库


    基本概念

    我们先来理解下 Git 工作区、暂存区和版本库概念:

    • **工作区:**就是你在电脑里能看到的目录。
    • **暂存区:**英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
    • **版本库:**工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

    下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:

    img

    • 图中左侧为工作区,右侧为版本库。在版本库中标记为 “index” 的区域是暂存区(stage/index),标记为 “master” 的是 master 分支所代表的目录树。
    • 图中我们可以看出此时 “HEAD” 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。
    • 图中的 objects 标识的区域为 Git 的对象库,实际位于 “.git/objects” 目录下,里面包含了创建的各种对象及内容。
    • 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
    • 当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。
    • 当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。
    • 当执行 git rm --cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。
    • 当执行 git checkout . 或者 git checkout – 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区中的改动。
    • 当执行 git checkout HEAD . 或者 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

    Git 创建仓库

    本章节我们将为大家介绍如何创建一个 Git 仓库。

    你可以使用一个已经存在的目录作为Git仓库。


    git init

    Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。

    在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。

    使用方法

    使用当前目录作为 Git 仓库,我们只需使它初始化。

    git init
    

    该命令执行完后会在当前目录生成一个 .git 目录。

    使用我们指定目录作为Git仓库。

    git init newrepo
    

    初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。

    如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:

    $ git add *.c
    $ git add README
    $ git commit -m '初始化项目版本'
    

    以上命令将目录下以 .c 结尾及 README 文件提交到仓库中。

    注: 在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "

    所以在 git bash 中 git commit -m ‘提交说明’ 这样是可以的,在 Windows 命令行中就要使用双引号 git commit -m “提交说明”


    git clone

    我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。

    克隆仓库的命令格式为:

    git clone <repo>
    

    如果我们需要克隆到指定的目录,可以使用以下命令格式:

    git clone <repo> <directory>
    

    参数说明:

    • **repo:**Git 仓库。
    • **directory:**本地目录。

    比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:

    $ git clone git://github.com/schacon/grit.git
    

    执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。

    如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:

    $ git clone git://github.com/schacon/grit.git mygrit
    

    配置

    git 的设置使用 git config 命令。

    显示当前的 git 配置信息:

    $ git config --list
    credential.helper=osxkeychain
    core.repositoryformatversion=0
    core.filemode=true
    core.bare=false
    core.logallrefupdates=true
    core.ignorecase=true
    core.precomposeunicode=true
    

    编辑 git 配置文件:

    $ git config -e    # 针对当前仓库 
    

    或者:

    $ git config -e --global   # 针对系统上所有仓库
    

    设置提交代码时的用户信息:

    $ git config --global user.name "runoob"
    $ git config --global user.email test@runoob.com
    

    如果去掉 –global 参数只对当前仓库有效。

    Git 基本操作

    Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

    本章将对有关创建与提交你的项目快照的命令作介绍。

    Git 常用的是以下 6 个命令:git clonegit pushgit addgit commitgit checkoutgit pull,后面我们会详细介绍。

    img

    说明:

    • workspace:工作区
    • staging area:暂存区/缓存区
    • local repository:版本库或本地仓库
    • remote repository:远程仓库

    一个简单的操作步骤:

    $ git init    
    $ git add .    
    $ git commit  
    
    • git init - 初始化仓库。
    • git add . - 添加文件到暂存区。
    • git commit - 将暂存区内容添加到仓库中。

    创建仓库命令

    下表列出了 git 创建仓库的命令:

    命令说明
    git init初始化仓库
    git clone拷贝一份远程仓库,也就是下载一个项目。

    提交与修改

    Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

    下表列出了有关创建与提交你的项目的快照的命令:

    命令说明
    git add添加文件到暂存区
    git status查看仓库当前的状态,显示有变更的文件。
    git diff比较文件的不同,即暂存区和工作区的差异。
    git commit提交暂存区到本地仓库。
    git reset回退版本。
    git rm删除工作区文件。
    git mv移动或重命名工作区文件。

    提交日志

    命令说明
    git log查看历史提交记录
    git blame <file>以列表形式查看指定文件的历史修改记录

    远程操作

    命令说明
    git remote远程仓库操作
    git fetch从远程获取代码库
    git pull下载远程代码并合并
    git push上传远程代码并合并

    git init 命令


    git init 命令用于在目录中创建新的 Git 仓库。

    在目录中执行 git init 就可以创建一个 Git 仓库了。

    例如我们在当前目录下创建一个名为 runoob 的项目:

    实例

    $ mkdir runoob
    $ cd runoob**/**
    $ git init
    Initialized empty Git repository in /Users/tianqixin/www/runoob/.git**/**
    # 初始化空 Git 仓库完毕。

    现在你可以看到在你的项目中生成了 .git 这个子目录,这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里。

    .git 默认是隐藏的,可以用 ls -a 命令查看:

    ls -a
    .    ..    .git
    

    git clone 命令


    git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。

    拷贝项目命令格式如下:

     git clone [url]
    

    [url] 是你要拷贝的项目。

    例如我们拷贝 Github 上的项目:

    $ git clone https://github.com/tianqixin/runoob-git-test
    Cloning into 'runoob-git-test'...
    remote: Enumerating objects: 12, done.
    remote: Total 12 (delta 0), reused 0 (delta 0), pack-reused 12
    Unpacking objects: 100% (12/12), done.
    

    拷贝完成后,在当前目录下会生成一个 runoob-git-test 目录:

    $ cd simplegit/
    $ ls
    README.md    runoob-test.txt    test.txt
    

    上述操作将复制该项目的全部记录。

    $ ls -a
    .        ..        .git        README.md    runoob-test.txt    test.txt
    $ cd .git 
    $ ls
    HEAD        description    index        logs        packed-refs
    config        hooks        info        objects        refs
    

    默认情况下,Git 会按照你提供的 URL 所指向的项目的名称创建你的本地项目目录。 通常就是该 URL 最后一个 / 之后的项目名称。如果你想要一个不一样的名字, 你可以在该命令后加上你想要的名称。

    例如,以下实例拷贝远程 git 项目,本地项目名为 another-runoob-name

    $ git clone https://github.com/tianqixin/runoob-git-test another-runoob-name
    Cloning into ‘another-runoob-name’…
    remote: Enumerating objects: 12, done.
    remote: Total 12 (delta 0), reused 0 (delta 0), pack-reused 12
    Unpacking objects: 100
    %
    (12/12), done.

    git add 命令


    git add 命令可将该文件添加到暂存区。

    添加一个或多个文件到暂存区:

    git add [file1] [file2] ...
    

    添加指定目录到暂存区,包括子目录:

    git add [dir]
    

    添加当前目录下的所有文件到暂存区:

    git add .
    

    以下实例我们添加两个文件:

    $ touch README                # 创建文件
    $ touch hello.php             # 创建文件
    $ ls
    README        hello.php
    $ git status -s
    ?? README
    ?? hello.php
    $ 
    

    img

    git status 命令用于查看项目的当前状态。

    接下来我们执行 git add 命令来添加文件:

    $ git add README hello.php 
    

    现在我们再执行 git status,就可以看到这两个文件已经加上去了。

    $ git status -s
    A  README
    A  hello.php
    $ 
    

    img

    新项目中,添加所有文件很普遍,我们可以使用 git add . 命令来添加当前项目的所有文件。

    现在我们修改 README 文件:

    $ vim README
    

    在 README 添加以下内容:# Runoob Git 测试,然后保存退出。

    再执行一下 git status:

    $ git status -s
    AM README
    A  hello.php
    

    img

    AM 状态的意思是这个文件在我们将它添加到缓存之后又有改动。改动后我们再执行 git add . 命令将其添加到缓存中:

    $ git add .
    $ git status -s
    A  README
    A  hello.php
    

    文件修改后,我们一般都需要进行 git add 操作,从而保存历史版本。

    git status 命令


    git status 命令用于查看在你上次提交之后是否有对文件进行再次修改。

    $ git status
    On branch master
    
    Initial commit
    
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
    
        new file:   README
        new file:   hello.php
    

    通常我们使用 -s 参数来获得简短的输出结果:

    $ git status -s
    AM README
    A  hello.php
    

    img

    AM 状态的意思是这个文件在我们将它添加到缓存之后又有改动。

    git diff 命令


    git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。

    git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。

    git diff 有两个主要的应用场景。

    • 尚未缓存的改动:git diff
    • 查看已缓存的改动: git diff --cached
    • 查看已缓存的与未缓存的所有改动:git diff HEAD
    • 显示摘要而非整个 diff:git diff --stat

    显示暂存区和工作区的差异:

    $ git diff [file]
    

    显示暂存区和上一次提交(commit)的差异:

    $ git diff --cached [file]
    或
    $ git diff --staged [file]
    

    显示两次提交之间的差异:

    $ git diff [first-branch]...[second-branch]
    

    在 hello.php 文件中输入以下内容:

    <?php
    echo '菜鸟教程:www.runoob.com';
    ?>
    

    使用 git status 查看状态:

    $ git status -s
    A  README
    AM hello.php
    $ git diff
    diff --git a/hello.php b/hello.php
    index e69de29..69b5711 100644
    --- a/hello.php
    +++ b/hello.php
    @@ -0,0 +1,3 @@
    +<?php
    +echo '菜鸟教程:www.runoob.com';
    +?>
    

    git status 显示你上次提交更新后的更改或者写入缓存的改动, 而 git diff 一行一行地显示这些改动具体是啥。

    接下来我们来查看下 git diff --cached 的执行效果:

    $ git add hello.php
    $ git status -s
    A  README
    A  hello.php
    $ git diff --cached
    diff --git a/README b/README
    new file mode 100644
    index 0000000..8f87495
    --- /dev/null
    +++ b/README
    @@ -0,0 +1 @@
    +# Runoob Git 测试
    diff --git a/hello.php b/hello.php
    new file mode 100644
    index 0000000..69b5711
    --- /dev/null
    +++ b/hello.php
    @@ -0,0 +1,3 @@
    +<?php
    +echo '菜鸟教程:www.runoob.com';
    +?>
    

    git commit 命令


    前面章节我们使用 git add 命令将内容写入暂存区。

    git commit 命令将暂存区内容添加到本地仓库中。

    提交暂存区到本地仓库中:

    git commit -m [message]
    

    [message] 可以是一些备注信息。

    提交暂存区的指定文件到仓库区:

    $ git commit [file1] [file2] ... -m [message]
    

    -a 参数设置修改文件后不需要执行 git add 命令,直接来提交

    $ git commit -a
    

    设置提交代码时的用户信息

    开始前我们需要先设置提交的用户信息,包括用户名和邮箱:

    $ git config --global user.name 'runoob'
    $ git config --global user.email test@runoob.com
    

    如果去掉 --global 参数只对当前仓库有效。

    提交修改

    接下来我们就可以对 hello.php 的所有改动从暂存区内容添加到本地仓库中。

    以下实例,我们使用 -m 选项以在命令行中提供提交注释。

    $ git add hello.php
    $ git status -s
    A  README
    A  hello.php
    $ git commit -m '第一次版本提交'
    [master (root-commit) d32cf1f] 第一次版本提交
     2 files changed, 4 insertions(+)
     create mode 100644 README
     create mode 100644 hello.php
     
    

    现在我们已经记录了快照。如果我们再执行 git status:

    $ git status
    # On branch master
    nothing to commit (working directory clean)
    

    以上输出说明我们在最近一次提交之后,没有做任何改动,是一个 “working directory clean”,翻译过来就是干净的工作目录。

    如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认会打开 vim。屏幕会像这样:

    # Please enter the commit message for your changes. Lines starting
    # with '#' will be ignored, and an empty message aborts the commit.
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD <file>..." to unstage)
    #
    # modified:   hello.php
    #
    ~
    ~
    ".git/COMMIT_EDITMSG" 9L, 257C
    

    如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步。命令格式如下:

    git commit -a
    

    我们先修改 hello.php 文件为以下内容:

    <?php
    echo '菜鸟教程:www.runoob.com';
    echo '菜鸟教程:www.runoob.com';
    ?>
    

    再执行以下命令:

    $ git commit -am '修改 hello.php 文件'
    [master 71ee2cb] 修改 hello.php 文件
     1 file changed, 1 insertion(+)
    

    git reset 命令

    git reset 命令用于回退版本,可以指定退回某一次提交的版本。

    git reset 命令语法格式如下:

    git reset [--soft | --mixed | --hard] [HEAD]
    

    –mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。

    git reset  [HEAD] 
    

    实例:

    $ git reset HEAD^            # 回退所有内容到上一个版本  
    $ git reset HEAD^ hello.php  # 回退 hello.php 文件的版本到上一个版本  
    $ git  reset  052e           # 回退到指定版本
    

    –soft 参数用于回退到某个版本:

    git reset --soft HEAD
    

    实例:

    $ git reset --soft HEAD~3 # 回退上上上一个版本

    –hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:

    git reset --hard HEAD
    

    实例:

    $ git reset –hard HEAD~3  # 回退上上上一个版本  
    $ git reset –hard bae128  # 回退到某个版本回退点之前的所有信息。 
    $ git reset --hard origin/master    # 将本地的状态回退到和远程的一样 
    

    **注意:**谨慎使用 –hard 参数,它会删除回退点之前的所有信息。

    HEAD 说明:

    • HEAD 表示当前版本

    • HEAD^ 上一个版本

    • HEAD^^ 上上一个版本

    • HEAD^^^ 上上上一个版本

    • 以此类推…

    可以使用 ~数字表示

    • HEAD~0 表示当前版本

    • HEAD~1 上一个版本

    • HEAD^2 上上一个版本

    • HEAD^3 上上上一个版本

    • 以此类推…

    git reset HEAD

    git reset HEAD 命令用于取消已缓存的内容。

    我们先改动文件 README 文件,内容如下:

    # Runoob Git 测试
    # 菜鸟教程 
    

    hello.php 文件修改为:

    <?php
    echo '菜鸟教程:www.runoob.com';
    echo '菜鸟教程:www.runoob.com';
    echo '菜鸟教程:www.runoob.com';
    ?>
    

    现在两个文件修改后,都提交到了缓存区,我们现在要取消其中一个的缓存,操作如下:

    $ git status -s
        M README
        M hello.php
    $ git add .
    $ git status -s
    M  README
    M  hello.php
    $ git reset HEAD hello.php 
    Unstaged changes after reset:
    M    hello.php
    $ git status -s
    M  README
        M hello.php
    

    现在你执行 git commit,只会将 README 文件的改动提交,而 hello.php 是没有的。

    $ git commit -m '修改'
    [master f50cfda] 修改
        1 file changed, 1 insertion(+)
    $ git status -s
        M hello.php
    

    可以看到 hello.php 文件的修改并未提交。

    这时我们可以使用以下命令将 hello.php 的修改提交:

    $ git commit -am '修改 hello.php 文件'
    [master 760f74d] 修改 hello.php 文件
        1 file changed, 1 insertion(+)
    $ git status
    On branch master
    nothing to commit, working directory clean
    

    简而言之,执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存。

    git rm 命令

    git rm 命令用于删除文件。

    如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。

    git rm 删除文件有以下几种形式:

    1、将文件从暂存区和工作区中删除:

    git rm <file>
    

    以下实例从暂存区和工作区中删除 runoob.txt 文件:

    git rm runoob.txt 
    

    如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

    强行从暂存区和工作区中删除修改后的 runoob.txt 文件:

    git rm -f runoob.txt 
    

    如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 –cached 选项即可:

    git rm --cached <file>
    

    以下实例从暂存区中删除 runoob.txt 文件:

    git rm --cached runoob.txt
    

    实例

    删除 hello.php 文件:

    $ git rm hello.php 
    rm 'hello.php'
    $ ls
    README
    

    文件从暂存区域移除,但工作区保留:

    $ git rm --cached README 
    rm 'README'
    $ ls
    README
    

    可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:

    git rm –r * 
    

    进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录。

    git mv 命令

    git mv 命令用于移动或重命名一个文件、目录或软连接。

    git mv [file] [newfile]
    

    如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数:

    git mv -f [file] [newfile]
    

    我们可以添加一个 README 文件(如果没有的话):

    $ git add README 
    

    然后对其重命名:

    $ git mv README  README.md
    $ ls
    README.md
    

    Git 查看提交历史

    Git 提交历史一般常用两个命令:

    • git log - 查看历史提交记录。

    • git blame - 以列表形式查看指定文件的历史修改记录。

    • git log

    • 在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。

    • 针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下:

    • $ git log
      commit d5e9fc2c811e0ca2b2d28506ef7dc14171a207d9 (HEAD -> master)
      Merge: c68142b 7774248
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:55:58 2019 +0800
      
          Merge branch 'change_site'
      
      commit c68142b562c260c3071754623b08e2657b4c6d5b
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:52:12 2019 +0800
      
          修改代码
      
      commit 777424832e714cf65d3be79b50a4717aea51ab69 (change_site)
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:49:26 2019 +0800
      
          changed the runoob.php
      
      commit c1501a244676ff55e7cccac1ecac0e18cbf6cb00
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:35:32 2019 +0800
      
    • 我们可以用 --oneline 选项来查看历史记录的简洁的版本。

    • $ git log --oneline
      $ git log --oneline
      d5e9fc2 (HEAD -> master) Merge branch 'change_site'
      c68142b 修改代码
      7774248 (change_site) changed the runoob.php
      c1501a2 removed test.txt、add runoob.php
      3e92c19 add test.txt
      3b58100 第一次版本提交
      
    • 这告诉我们的是,此项目的开发历史。

    • 我们还可以用 --graph 选项,查看历史中什么时候出现了分支、合并。以下为相同的命令,开启了拓扑图选项:

    • *   d5e9fc2 (HEAD -> master) Merge branch 'change_site'
      |\  
      | * 7774248 (change_site) changed the runoob.php
      * | c68142b 修改代码
      |/  
      * c1501a2 removed test.txt、add runoob.php
      * 3e92c19 add test.txt
      * 3b58100 第一次版本提交
      
    • 现在我们可以更清楚明了地看到何时工作分叉、又何时归并。

    • 你也可以用 –reverse 参数来逆向显示所有日志。

    • $ git log --reverse --oneline
      3b58100 第一次版本提交
      3e92c19 add test.txt
      c1501a2 removed test.txt、add runoob.php
      7774248 (change_site) changed the runoob.php
      c68142b 修改代码
      d5e9fc2 (HEAD -> master) Merge branch 'change_site'
      
    • 如果只想查找指定用户的提交日志可以使用命令:git log --author , 例如,比方说我们要找 Git 源码中 Linus 提交的部分:

    • $ git log --author=Linus --oneline -5
      81b50f3 Move 'builtin-*' into a 'builtin/' subdirectory
      3bb7256 make "index-pack" a built-in
      377d027 make "git pack-redundant" a built-in
      b532581 make "git unpack-file" a built-in
      112dd51 make "mktag" a built-in
      
    • 如果你要指定日期,可以执行几个选项:–since 和 --before,但是你也可以用 --until 和 --after。

    • 例如,如果我要看 Git 项目中三周前且在四月十八日之后的所有提交,我可以执行这个(我还用了 --no-merges 选项以隐藏合并提交):

    • $ git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
      5469e2d Git 1.7.1-rc2
      d43427d Documentation/remote-helpers: Fix typos and improve language
      272a36b Fixup: Second argument may be any arbitrary string
      b6c8d2d Documentation/remote-helpers: Add invocation section
      5ce4f4e Documentation/urls: Rewrite to accomodate transport::address
      00b84e9 Documentation/remote-helpers: Rewrite description
      03aa87e Documentation: Describe other situations where -z affects git diff
      77bc694 rebase-interactive: silence warning when no commits rewritten
      636db2c t3301: add tests to use --format="%N"
      
    • 更多 git log 命令可查看:http://git-scm.com/docs/git-log

    • git blame

    • 如果要查看指定文件的修改记录可以使用 git blame 命令,格式如下:

    • git blame <file>
      
    • git blame 命令是以列表形式显示修改记录,如下实例:

    • $ git blame README 
      ^d2097aa (tianqixin 2020-08-25 14:59:25 +0800 1) # Runoob Git 测试
      db9315b0 (runoob    2020-08-25 16:00:23 +0800 2) # 菜鸟教程 
      

    Git 查看提交历史

    Git 提交历史一般常用两个命令:

    • git log - 查看历史提交记录。

    • git blame - 以列表形式查看指定文件的历史修改记录。

    • git log

    • 在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,我们可以使用 git log 命令查看。

    • 针对我们前一章节的操作,使用 git log 命令列出历史提交记录如下:

    • $ git log
      commit d5e9fc2c811e0ca2b2d28506ef7dc14171a207d9 (HEAD -> master)
      Merge: c68142b 7774248
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:55:58 2019 +0800
      
          Merge branch 'change_site'
      
      commit c68142b562c260c3071754623b08e2657b4c6d5b
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:52:12 2019 +0800
      
          修改代码
      
      commit 777424832e714cf65d3be79b50a4717aea51ab69 (change_site)
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:49:26 2019 +0800
      
          changed the runoob.php
      
      commit c1501a244676ff55e7cccac1ecac0e18cbf6cb00
      Author: runoob <test@runoob.com>
      Date:   Fri May 3 15:35:32 2019 +0800
      
    • 我们可以用 --oneline 选项来查看历史记录的简洁的版本。

    • $ git log --oneline
      $ git log --oneline
      d5e9fc2 (HEAD -> master) Merge branch 'change_site'
      c68142b 修改代码
      7774248 (change_site) changed the runoob.php
      c1501a2 removed test.txt、add runoob.php
      3e92c19 add test.txt
      3b58100 第一次版本提交
      
    • 这告诉我们的是,此项目的开发历史。

    • 我们还可以用 --graph 选项,查看历史中什么时候出现了分支、合并。以下为相同的命令,开启了拓扑图选项:

    • *   d5e9fc2 (HEAD -> master) Merge branch 'change_site'
      |\  
      | * 7774248 (change_site) changed the runoob.php
      * | c68142b 修改代码
      |/  
      * c1501a2 removed test.txt、add runoob.php
      * 3e92c19 add test.txt
      * 3b58100 第一次版本提交
      
    • 现在我们可以更清楚明了地看到何时工作分叉、又何时归并。

    • 你也可以用 –reverse 参数来逆向显示所有日志。

    • $ git log --reverse --oneline
      3b58100 第一次版本提交
      3e92c19 add test.txt
      c1501a2 removed test.txt、add runoob.php
      7774248 (change_site) changed the runoob.php
      c68142b 修改代码
      d5e9fc2 (HEAD -> master) Merge branch 'change_site'
      
    • 如果只想查找指定用户的提交日志可以使用命令:git log --author , 例如,比方说我们要找 Git 源码中 Linus 提交的部分:

    • $ git log --author=Linus --oneline -5
      81b50f3 Move 'builtin-*' into a 'builtin/' subdirectory
      3bb7256 make "index-pack" a built-in
      377d027 make "git pack-redundant" a built-in
      b532581 make "git unpack-file" a built-in
      112dd51 make "mktag" a built-in
      
    • 如果你要指定日期,可以执行几个选项:–since 和 --before,但是你也可以用 --until 和 --after。

    • 例如,如果我要看 Git 项目中三周前且在四月十八日之后的所有提交,我可以执行这个(我还用了 --no-merges 选项以隐藏合并提交):

    • $ git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
      5469e2d Git 1.7.1-rc2
      d43427d Documentation/remote-helpers: Fix typos and improve language
      272a36b Fixup: Second argument may be any arbitrary string
      b6c8d2d Documentation/remote-helpers: Add invocation section
      5ce4f4e Documentation/urls: Rewrite to accomodate transport::address
      00b84e9 Documentation/remote-helpers: Rewrite description
      03aa87e Documentation: Describe other situations where -z affects git diff
      77bc694 rebase-interactive: silence warning when no commits rewritten
      636db2c t3301: add tests to use --format="%N"
      
    • 更多 git log 命令可查看:http://git-scm.com/docs/git-log

    • git blame

    • 如果要查看指定文件的修改记录可以使用 git blame 命令,格式如下:

    • git blame <file>
      
    • git blame 命令是以列表形式显示修改记录,如下实例:

    • $ git blame README 
      ^d2097aa (tianqixin 2020-08-25 14:59:25 +0800 1) # Runoob Git 测试
      db9315b0 (runoob    2020-08-25 16:00:23 +0800 2) # 菜鸟教程 
      

    git remote 命令

    git remote 命用于在远程仓库的操作。

    本章节内容我们将以 Github 作为远程仓库来操作,所以阅读本章节前需要先阅读关于 Github 的相关内容:Git 远程仓库(Github)

    显示所有远程仓库:

    git remote -v
    

    以下我们先载入远程仓库,然后查看信息:

    $ git clone https://github.com/tianqixin/runoob-git-test
    $ cd runoob-git-test
    $ git remote -v
    origin https://github.com/tianqixin/runoob-git-test (fetch)
    origin https://github.com/tianqixin/runoob-git-test (push)
    
    origin 为远程地址的别名。
    

    显示某个远程仓库的信息:

    git remote show [remote]
    

    例如:

    $ git remote show https://github.com/tianqixin/runoob-git-test
    * remote https://github.com/tianqixin/runoob-git-test
      Fetch URL: https://github.com/tianqixin/runoob-git-test
      Push  URL: https://github.com/tianqixin/runoob-git-test
      HEAD branch: master
      Local ref configured for 'git push':
        master pushes to master (local out of date)
    

    添加远程版本库:

    git remote add [shortname] [url]
    

    shortname 为本地的版本库,例如:

    # 提交到 Github
    $ git remote add origin git@github.com:tianqixin/runoob-git-test.git
    $ git push -u origin master
    

    其他相关命令:

    git remote rm name  # 删除远程仓库
    git remote rename old_name new_name  # 修改仓库名
    

    更多内容可以查看:Git 远程仓库(Github)

    git fetch 命令

    git fetch 命令用于从远程获取代码库。

    本章节内容我们将以 Github 作为远程仓库来操作,所以阅读本章节前需要先阅读关于 Github 的相关内容:Git 远程仓库(Github)

    该命令执行完后需要执行 git merge 远程分支到你所在的分支。

    从远端仓库提取数据并尝试合并到当前分支:

    git merge
    

    该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。

    假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行:

    git fetch [alias]
    

    以上命令告诉 Git 去获取它有你没有的数据,然后你可以执行:

    git merge [alias]/[branch]
    

    以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。

    本章节以 https://github.com/tianqixin/runoob-git-test 为例。

    接下来我们在 Github 上点击 README.md 并在线修改它:

    img

    然后我们在本地更新修改。

    $ git fetch origin
    remote: Counting objects: 3, done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (3/3), done.
    From github.com:tianqixin/runoob-git-test
       0205aab..febd8ed  master     -> origin/master
    

    以上信息"0205aab…febd8ed master -> origin/master" 说明 master 分支已被更新,我们可以使用以下命令将更新同步到本地:

    $ git merge origin/master
    Updating 0205aab..febd8ed
    Fast-forward
     README.md | 1 +
     1 file changed, 1 insertion(+)
    

    查看 README.md 文件内容:

    $ cat README.md 
    # 菜鸟教程 Git 测试
    ## 第一次修改内容
    

    git pull 命令


    git pull 命令用于从远程获取代码并合并本地的版本。

    git pull 其实就是 git fetchgit merge FETCH_HEAD 的简写。 命令格式如下:

    git pull <远程主机名> <远程分支名>:<本地分支名>
    

    实例

    更新操作:

    $ git pull
    $ git pull origin
    

    将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。

    git pull origin master:brantest
    

    如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

    git pull origin master
    

    上面命令表示,取回 origin/master 分支,再与本地的 brantest 分支合并。

    上面的 pull 操作用 fetch 表示为:

    以我的 https://github.com/tianqixin/runoob-git-test 为例,远程载入合并本地分支。

    $ git remote -v  # 查看信息
    origin    https://github.com/tianqixin/runoob-git-test (fetch)
    origin    https://github.com/tianqixin/runoob-git-test (push)
    
    $ git pull origin master
    From https://github.com/tianqixin/runoob-git-test
     * branch            master     -> FETCH_HEAD
    Already up to date.
    

    上面命令表示,取回 origin/master 分支,再与本地的 master 分支合并。

    git push 命令

    git push 命用于从将本地的分支版本上传到远程并合并。

    命令格式如下:

    git push <远程主机名> <本地分支名>:<远程分支名>
    

    如果本地分支名与远程分支名相同,则可以省略冒号:

    git push <远程主机名> <本地分支名>
    

    实例

    以下命令将本地的 master 分支推送到 origin 主机的 master 分支。

    $ git push origin master
    

    相等于:

    $ git push origin master:master
    

    如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:

    git push --force origin master
    

    删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:

    git push origin --delete master
    

    以我的 https://github.com/tianqixin/runoob-git-test 为例,本地添加文件:

    $ touch runoob-test.txt      # 添加文件
    $ git add runoob-test.txt 
    $ git commit -m "添加到远程"
    master 69e702d] 添加到远程
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 runoob-test.txt
    
    $ git push origin master    # 推送到 Github
    

    将本地的 master 分支推送到 origin 主机的 master 分支。

    重新回到我们的 Github 仓库,可以看到文件已经提交上来了:

    ull origin master

    
    上面命令表示,取回 origin/master 分支,再与本地的 brantest 分支合并。
    
    上面的 pull 操作用 fetch 表示为:
    
    以我的 https://github.com/tianqixin/runoob-git-test 为例,远程载入合并本地分支。
    
    ```bash
    $ git remote -v  # 查看信息
    origin    https://github.com/tianqixin/runoob-git-test (fetch)
    origin    https://github.com/tianqixin/runoob-git-test (push)
    
    $ git pull origin master
    From https://github.com/tianqixin/runoob-git-test
     * branch            master     -> FETCH_HEAD
    Already up to date.
    

    上面命令表示,取回 origin/master 分支,再与本地的 master 分支合并。

    git push 命令

    [外链图片转存中…(img-eMAJCewY-1649140542306)]Git 基本操作


    git push 命用于从将本地的分支版本上传到远程并合并。

    命令格式如下:

    git push <远程主机名> <本地分支名>:<远程分支名>
    

    如果本地分支名与远程分支名相同,则可以省略冒号:

    git push <远程主机名> <本地分支名>
    

    实例

    以下命令将本地的 master 分支推送到 origin 主机的 master 分支。

    $ git push origin master
    

    相等于:

    $ git push origin master:master
    

    如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:

    git push --force origin master
    

    删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:

    git push origin --delete master
    

    以我的 https://github.com/tianqixin/runoob-git-test 为例,本地添加文件:

    $ touch runoob-test.txt      # 添加文件
    $ git add runoob-test.txt 
    $ git commit -m "添加到远程"
    master 69e702d] 添加到远程
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 runoob-test.txt
    
    $ git push origin master    # 推送到 Github
    

    将本地的 master 分支推送到 origin 主机的 master 分支。

    重新回到我们的 Github 仓库,可以看到文件已经提交上来了:

    img

    更多相关内容
  • Git 是个免费的开源分布式版本控制系统,下载地址为git-scm.com 或者 gitforwindows.org,本文介绍 Git-2.35.1.2-64-bit.exe 版本的安装方法,本文 13w 阅读量,3000收藏,值得一看。

    📢博客主页:https://blog.csdn.net/mukes
    📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!
    📢本文由 mukes 原创,首发于 csdn

    本文发布于 2021-4-17,发布后访问量噌噌地涨,评论区一片好评,都是一群爱学习的好同学啊(重点表扬发现彩蛋的同学),现距发布时间快一年了,更新一下新版本,毕竟没有人喜欢过时的东西



    一、前言

    最近新买了一台 LG Gram,电脑空荡荡的,啥都得重头装,记录一下 Git 的安装过程,温习温习。



    二、Git 的安装

    2.1 Git 的下载

    这个就需要去 Git 官网下载对应系统的软件了,下载地址为 git-scm.com或者gitforwindows.org
    上面的 git-scm 是 Git 的官方,里面有不同系统不同平台的安装包和源代码,而 gitforwindows.org 里只有 windows 系统的安装包


    2.2 Git 的安装

    我下载的版本是 Git-2.31.1-64-bit.exe Git-2.35.1.2-64-bit.exe,接下来我们就对这个版本进行安装工作。

    2.2.1 使用许可声明

    双击下载后的 Git-2.31.1-64-bit.exe Git-2.35.1.2-64-bit.exe,开始安装,这个界面主要展示了 GPL 第 2 版协议1的内容,点击 [next] 到第二步。





    2.2.2 选择安装目录

    可点击 “Browse…” 更换目录,也可直接在方框里面改,我一般直接将 “C” 改为 “D”,这样就直接安装在 D 盘里了。点击 [next] 到第三步。
    在这里插入图片描述





    2.2.3 选择安装组件

    图中这些英文都比较简单,我已经把大概意思翻译出来了,大家根据自己的需要选择勾选。点击 [next] 到第四步。
    在这里插入图片描述
    注:最后一个选项打勾的话,需要下载 Windows Terminal 配合 Git Bash使用,如图:
    在这里插入图片描述





    2.2.4 选择开始菜单文件夹

    方框内 Git 可改为其他名字,也可点击 “Browse...” 选择其他文件夹或者给"Don't create a Start Menu folder" 打勾不要文件夹,点击 [next] 到第五步。
    在这里插入图片描述

    安装成功后在开始菜单里的图如下:
    在这里插入图片描述





    2.2.5 选择 Git 默认编辑器

    Git 安装程序里面内置了 10 种编辑器供你挑选,比如 AtomNotepadNotepad++Sublime TextVisual Studio CodeVim 等等,默认的是 Vim ,选择 Vim 后可以直接进行到下一步,但是 Vim 是纯命令行,操作有点难度,需要学习。如果选其他编辑器,则还需要去其官网安装后才能进行下一步。


    下图为默认编辑器 Vim.可直接点击 [next] 到第六步。
    在这里插入图片描述

    如果你不想用 Vim 当默认编辑器,换一个,比如 Notepad++ ,那么你者需要点击下面的蓝色字体 " Notepad++ " 去其官网下载安装好才能进行下一步 [next].
    在这里插入图片描述

    安装后还要配置在我的电脑->属性->高级系统设置->高级->环境变量->系统变量->Path->编辑添加 Notepad++ 的安装地址,如 C:\Program Files\notepad++.
    这样才能在 Git Bash 里面直接调用 Notepad++.

    $ notepad++ 文件名.后缀  //在 git bash 调用 notepad++ 打开文件
    

    新手建议使用 Notepad++Sublime Text,这两个比 Windows 自带的记事本功能多太多了。点击 [next] 到第六步。





    2.2.6 决定初始化新项目(仓库)的主干名字

    第一种是让 Git 自己选择,名字是 master ,但是未来也有可能会改为其他名字;第二种是我们自行决定,默认是 main,当然,你也可以改为其他的名字。一般默认第一种,点击 [next] 到第七步。

    注: 第二个选项下面有个 NEW! ,说很多团队已经重命名他们的默认主干名为 main . 这是因为2020 年非裔男子乔治·弗洛伊德因白人警察暴力执法惨死而掀起的 Black Lives Matter(黑人的命也是命)运动,很多人认为 master 不尊重黑人,呼吁改为 main.

    在这里插入图片描述





    2.2.7 调整你的 path 环境变量

    在这里插入图片描述

    翻译如下:

    Use Git from Git Bash only 
    This is the most cautious choice as your PATH will not be modified at all. You w only be able to use the Git command line tools from Git Bash.
    仅从 Git Bash 使用 Git
    这是最谨慎的选择,因为您的 PATH 根本不会被修改。您将只能使用 Git Bash 中的 Git 命令行工具。
    
    
    Git from the command line and also from 3rd-party software
    (Recommended) This option adds only some minimal Git wrappers to your PATH to avoid cluttering your environment with optional Unix tools.
    You will be able to use Git from Git Bash, the Command Prompt and the Windov PowerShell as well as any third-party software looking for Git in PATH.
    从命令行以及第三方软件进行 Git
    (推荐)此选项仅将一些最小的 Git 包装器添加到PATH中,以避免使用可选的 Unix 工具使环境混乱。
    您将能够使用 Git Bash 中的 Git,命令提示符和 Windov PowerShell 以及在 PATH 中寻找 Git 的任何第三方软件。
    
    
    Use Git and optional Unix tools from the Command Prompt 
    Both Git and the optional Unix tools will be added to your PATH.
    Warning: This will override Windows tools like "find"and "sort". Only use this option if you understand the implications.
    使用命令提示符中的 Git 和可选的 Unix 工具
    Git 和可选的 Unix 工具都将添加到您的 PATH 中。
    警告:这将覆盖 Windows 工具,例如 "find" and "sort". 仅在了解其含义后使用此选项。
    
    

    第一种是仅从 Git Bash 使用 Git。这个的意思就是你只能通过 Git 安装后的 Git Bash 来使用 Git ,其他的什么命令提示符啊等第三方软件都不行。

    第二种是从命令行以及第三方软件进行 Git。这个就是在第一种基础上进行第三方支持,你将能够从 Git Bash命令提示符(cmd)Windows PowerShell 以及可以从 Windows 系统环境变量中寻找 Git 的任何第三方软件中使用 Git。推荐使用这个。

    第三种是从命令提示符使用 Git 和可选的 Unix 工具。选择这种将覆盖 Windows 工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。一句话,适合比较懂的人折腾。





    2.2.8 选择 SSH 执行文件

    在这里插入图片描述
    翻译如下:

    Use bundled OpenSSH 
    This uses ssh. exe that comes with Git.
    使用捆绑的 OpenSSH
    这使用的 ssh.exe 是 Git 自带的 
    
    
    Use (Tortoise) Plink 
    To use PuTTY, specify the path to an existing copy of (Tortoise) Plink.exe
    Set ssh. variant for Tortoise Plink 
    使用 TortoisePlink (注,这是一个软件)
    要使用 PuTTY,请指定 TortoisePlink.exe 的现有副本的路径
    为 TortoisePlink 设置 ssh.variant
    
    Use external OpenSSH 
    NEW! This uses an external ssh. exe. Git will not install its own OpenSSH
    (and related) binaries but use them as found on the PATH.
    使用外部 OpenSSH
    新!这使用外部 ssh.exe 文件。 
    Git 不会安装自己的 OpenSSH(和相关)二进制文件,而是使用在环境变量 PATH 中找到的它们。
    

    注:这是一个新功能,我 2021-4-17 安装的 2.31.1 版本并没有这个选项,先按默认的来吧,先填个坑,有机会再补充





    2.2.9 选择HTTPS后端传输

    在这里插入图片描述

    翻译如下:

    use the OpenSSL library 
    Server certificates will be validated using the ca-bundle. crt file.
    使用 OpenSSL 库
    服务器证书将使用 ca-bundle.crt 文件进行验证。
    	
    Use the native Windows Secure Channel library 
    Server certificates will be validated using Windows Certificate Stores.
    This option also allows you to use your company's internal Root CA certificates distributed e.g. via Active Directory Domain Services.
    使用本机 Windows 安全通道库
    服务器证书将使用 Windows 证书存储进行验证。
    此选项还允许您使用公司内部分发的内部根 CA 证书,例如通过 Active Directory 域服务。
    
    

    这两种选项有什么区别呢?

    来自https://stackoverflow.com/questions/62456484/whats-the-difference-between-openssl-and-the-native-windows-secure-channel-libr

    如果在具有企业管理证书的组织中使用 Git,则将需要使用安全通道。如果你仅使用 Git 来访问公共存储库(例如 GitHub ),或者你的组织不管理自己的证书,那么使用 SSL 后端(它们只是同一协议的不同实现)就可以了。

    也就是说,作为普通用户,只是用 Git 来访问 Github、GitLab 等网站,选择前者就行了。点击 [next] 到第十步。





    2.2.10 配置行尾符号转换

    在这里插入图片描述

    Checkout Windows-style, commit Unix-style line endings 
    Git will convert LF to CRLF when checking out text files. 
    When committing text files, CRLF will be converted to LF. For cross-platform projects, this is the recommended setting on Windows("core. autocrif"is set to "true").
    签出 Windows 样式,提交 Unix 样式的行结尾
    Git 签出文本文件时,会将 LF 转换为 CRLF。
    提交文本文件时,CRLF 将转换为 LF。
    对于跨平台项目,这是 Windows 上的建议设置("core.autocrif" 设置为 "true")。
    
    Checkout as-is, commit Unix-style line endings 
    Git will not perform any conversion when checking out text files. 
    When committing text files, CRLF will be converted to LF. For cross-platform projects, this is the recommended setting on Unix("core.autocrif" is set to "input").
    按原样签出,提交 Unix 样式的行结尾
    Git 在签出文本文件时不会执行任何转换。提交文本文件时,CRLF 将转换为 LF。
    对于跨平台项目,这是在 Unix 上的建议设置("core.autocrif" 设置为 "input")。
    
    Checkout as-is, commit as-is 
    Git will not perform any conversions when checking out or committing text files. 
    Choosing this option is not recommended for cross-platform projects("core. autocrif"is set to "false").
    按原样签出,按原样提交
    Git 在签出或提交文本文件时不会执行任何转换。
    不建议跨平台项目选择此选项("core.autocrif" 设置为 "false")。
    

    这三种选择分别是:
    签出 Windows 样式,提交 Unix 样式的行结尾。
    按原样签出,提交Unix样式的行结尾。
    按原样签出,按原样提交。


    那 Windows 样式和 Unix 样式到底有什么区别呢?

    引用 《GitHub 入门与实践》 第 50 页内容2

    GitHub 中公开的代码大部分都是以 Mac 或 Linux 中的 LF(Line Feed)换行。然而,由于 Windows 中是以 CRLF(Carriage Return+ Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。
     
    Git 可以通过设置自动转换这些换行符。使用 Windows 环境的各位,请选择推荐的 “Checkout Windows-style,commit Unix-style line endings” 选项。换行符在签出时会自动转换为 CRLF,在提交时则会自动转换为 LF .

    上面说 Mac 、Linux、Unix 的 Line Feed ,翻译过来就是换行符,用 “\n” 表示,换行符 “\n” 的 ASCII 值为10;
    Windows 的是 Carriage Return+ Line Feed(回车+换行),用 “\r\n” 表示,回车符 “\r” 的 ASCII 值为13;

    这上下两者是不一样的。
    所以这就需要转换了,至于为什么选第一项?
    这还用问吗?我们现在的教程就是介绍怎么安装 Windows 版 Git,肯定选第一项啦。

    至于 “回车”(carriage return)和 “换行”(line feed)这两个概念的来历和区别?
    引用一下 阮一峰老师博客的部分内容

    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打 10 个字符。但是它有一个问题,就是打字机打完一行换行的时候,要用去 0.2 秒,正好可以打两个字符。要是在这 0.2 秒里面,又有新的字符传过来,那么这个字符将丢失。
    于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做 "回车",告诉打字机把打印头定位在左边界;另一个叫做 "换行",告诉打字机把纸向下移一行。

    更多资料参考:

    1. 腾讯云 - 换行符 ‘\n’ 和 回车符 ‘\r’ 的区别?[https://cloud.tencent.com/developer/article/1353286]
    2. 知乎 - 为什么会用 \r\n 两个字符表示换行?[https://www.zhihu.com/question/29326647]
    3. Stackoverflow - What are carriage return, linefeed, and form feed?[https://stackoverflow.com/questions/3091524/what-are-carriage-return-linefeed-and-form-feed]

    点击 [next] 到第十一步。





    2.2.11 配置终端模拟器以与 Git Bash 一起使用

    在这里插入图片描述

    Use MinTTY(the default terminal of MSYS2) 
    Git Bash will use MinTTY as terminal emulator, which sports a resizable window
    non-rectangular selections and a Unicode font.Windows console programs(such
    as interactive Python) must be launched via 'winpty' to work in MinTTY.
    使用 MinTTY(MSYS2的默认终端)
    Git Bash 将使用 MinTTY 作为终端仿真器,该仿真器具有可调整大小的窗口非矩形选择和 Unicode 字体。
    Windows 控制台程序(例如交互式 Python)必须通过 "winpty" 启动才能在 MinTTY 中运行。
    
    Use Windows' default console 
    window Git will use the default console window of Windows("cmd.exe"), which works v
    with Win32 console programs such as interactive Python or node. js, but has a
    very limited default scroll-back,needs to be configured to use a Unicode font in 
    order to display non-ASCII characters correctly, and prior to Windows 10 its 
    window was not freely resizable and it only allowed rectangular text selections.<br>
    使用 Windows 的默认控制台窗口
    Git 将使用 Windows 的默认控制台窗口("cmd.exe"),该窗口可与 Win32 控制台程序(例如交互式Python 或 
    node.js)一起使用,但默认回滚非常有限,需要将其配置为使用 Unicode 字体才能正确显示非 ASCII 字符,并且在 
    Windows 10 之前,其窗口不可随意调整大小,并且仅允许选择矩形文本。
    
    

    建议选择第一种,MinTTY 3功能比 cmd 多,cmd 只不过 比 MinTTY 更适合处理 Windows 的一些接口问题,这个对 Git 用处不大,除此之外 Windows 的默认控制台窗口(cmd)有很多劣势,比如 cmd 具有非常有限的默认历史记录回滚堆栈和糟糕的字体编码等等。
    相比之下,MinTTY 具有可调整大小的窗口和其他有用的可配置选项,可以通过右键单击的工具栏来打开它们 git-bash 。点击 [next] 到第十二步。





    2.2.12 选择默认的 “git pull” 行为

    在这里插入图片描述

    ODefault(fast-forward or merge)
    This is the standard behavior ofgit pull": fast-forward the current branch to 
    the fetched branch when possible, otherwise create a merge commit.
    默认(快进或合并)
    这是 "git pull" 的标准行为:在可能的情况下将 当前分支 快进到 获取的分支,否则创建合并提交。
    
    ORebase Rebase the current branch onto the fetched branch. If there are no local 
    commits to rebase, this is equivalent to a fast-forward.
    变基将当前分支变基到获取的分支上。如果没有本地提交要变基,则等同于快进。
    
    Oonly ever fast-forward 
    Fast-forward to the fetched branch. Fail if that is not possible.
    只能快进快进到获取的分支。如果不可能,则失败。
    
    
    

    “git pull” 是什么意思呢?
    git pull 就是获取最新的远程仓库分支到本地,并与本地分支合并

    上面给了三个 “git pull” 的行为:
    第一个是 merge
    第二个是 rebase
    第三个是 直接获取

    第一种 git pull = git fetch + git merge
    第二种 git pull = git fetch + git rebase
    第三种 git pull = git fetch ?(这个没试过,纯属猜测

    一般默认选择第一项,git rebase 绝大部分程序员都用不好或者不懂,而且风险很大,但是很多会用的人也很推崇,但是用不好就是灾难。

    git pull 只是拉取远程分支并与本地分支合并,而 git fetch 只是拉取远程分支,怎么合并,选择 merge 还是 rebase ,可以再做选择。

    更多参考资料:

    1. 知乎 - git pull 和 git fetch 的区别? [https://www.zhihu.com/question/38305012]
    2. 知乎 - 在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么? [https://www.zhihu.com/question/36509119]
    3. Stackoverflow - Why does git perform fast-forward merges by default? [https://stackoverflow.com/questions/2850369]
    4. Stackoverflow - In git how is fetch different than pull and how is merge different than rebase? [https://stackoverflow.com/questions/14894768/]
    5. Stackoverflow - Difference between git pull and git pull --rebase [https://stackoverflow.com/questions/18930527]





    2.2.13 选择一个凭证帮助程序

    在这里插入图片描述

    翻译如下:

    Git Credential Manager 
    Use the cross-platform Git Credential Manager.
    See more information about the future of Git Credential Manager here.
    Git 凭证管理
    使用跨平台的 Git  凭证管理。
    在此处查看有关 Git 凭证管理未来的更多信息。
    
    None 
    Do not use a credential helper.
    不使用凭证助手。
    

    一共两个选项:
    Git 凭证管理
    不使用凭证助手

    第一个选项是提供登录凭证帮助的,Git 有时需要用户的凭据才能执行操作;例如,可能需要输入用户名密码才能通过 HTTP 访问远程存储库(GitHub,GItLab 等等)。

    登录图如下(属于第一个选项的,老图了),来自https://segmentfault.com/q/1010000011171685
    在这里插入图片描述

    更多参考资料:

    1. Stackoverflow - Is Control Panel’s Credential Manager same as git’s credential helpers Credential Manager and Credential manager Core? [https://stackoverflow.com/questions/66795897]
    2. GitHub - Git Credential Manager Core [https://github.com/microsoft/Git-Credential-Manager-Core]
    3. GitHub - Git Credential Manager Core Core FAQ [https://github.com/microsoft/Git-Credential-Manager-Core/blob/master/docs/faq.md#about-the-project]
    4. Git 官网文档 - https://git-scm.com/docs/gitcredentials [https://git-scm.com/docs/gitcredentials]

    注:资料链接建议不用看,这个本来三个选项的,不知因何回退成两个选项了,原本的那个新选项被取消了

    点击 [next] 进到十四步。





    2.2.14 配置额外的选项

    在这里插入图片描述

    翻译如下:

    Enable file system caching 
    File system data will be read in bulk and cached in memory for certain operations("core.fscache" is set to "true"). 
    This provides a significant performance boost.
    启用文件系统缓存
    将批量读取文件系统数据并将其缓存在内存中以进行某些操作("core.fscache” 设置为 "true")。
    这可以显着提高性能。
    
    
    Enable symbolic links 
    Enable symbolic links(requires the SeCreateSymbolicLink permission).
    Please note that existing repositories are unaffected by this setting.
    启用符号链接
    启用符号链接(需要SeCreateSymbolicLink权限)。
    请注意,现有存储库不受此设置的影响。
    
    

    有两个选项:
    启用文件系统缓存
    启用符号链接

    启用文件系统缓存就是将批量读取文件系统数据并将其缓存在内存中以进行某些操作,可以显著提升性能。这个选项默认开启。
    启用符号链接 ,符号链接是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用,类似于 Windows 的快捷方式,不完全等同 类Unix(如 Linux) 下的 符号链接。因为该功能的支持需要一些条件,所以默认不开启。


    更多关于 “符号链接” 参考资料:

    1. GitHub - Symbolic-Links [https://github.com/git-for-windows/git/wiki/Symbolic-Links]
    2. Stackoverflow - How does Git handle symbolic links? [https://stackoverflow.com/questions/954560/]
    3. Stackoverflow - What is the difference between NTFS Junction Points and Symbolic Links? [https://stackoverflow.com/questions/9042542/]

    点击 [next] 到第十五步。





    2.2.15 配置实验性选项

    截图忘截了,我太难了,谷歌找张图顶替一下
    在这里插入图片描述

    翻译如下:

    Enable experimental support for pseudo consoles.
    (NEW!) This allows running native console programs like Node or Python in a Git Bash window without using winpty, 
    but it still has known bugs.
    启用对伪控制台的实验性支持。
    (新功能!) 这允许在不使用 winpty 的情况下在 Git Bash 窗口中运行诸如 Node 或 Python 之类的本机控制台程序,
    但是它仍然存在已知的 bug。
    
    Enable experimental built-in file system monitor
    (NEW!) Automatically run a built-in file system watcher, to speed up common operations such as ' git status', ' git add', ' git commit', etc in worktrees containing many files.
    启用实验性内置文件系统监视器
    (新!)自动运行内置文件系统监视器,以加快包含许多文件的工作树中的常见操作,例如 'git status'、'git add'、'git commit' 等.
    

    这是实验性功能,可能会有一些小错误之类的,建议不用开启。
    点击 [install] 进行安装。



    安装成功
    在这里插入图片描述





    2.3 Git 的功能介绍

    这是安装成功后开始菜单里面的图。
    在这里插入图片描述
    Git BashGit CMDGit FAQsGit GUIGit Release Note,下面我们就分别介绍一下这几个。





    2.3.1 Git Bash

    Git Bash 是基于CMD的,在CMD的基础上增添一些新的命令与功能,平时主要用这个,功能很丰富,长这样:
    在这里插入图片描述





    2.3.2 Git CMD

    Git CMD 不能说和 cmd 完全一样,只能说一模一样,功能少得可怜,两者如下图:
    在这里插入图片描述





    2.3.3 Git FAQs

    Git FAQs 就是 Git Frequently Asked Questions(常问问题),访问地址:https://github.com/git-for-windows/git/wiki/FAQ





    2.3.4 Git GUI

    Git GUI 就是 Git 的图形化界面,如下图:
    在这里插入图片描述
    可以通过它快速创建新仓库(项目),克隆存在的仓库(项目),打开存在的仓库(仓库)





    2.3.4 Git Release Note

    Git Release Note 就是版本说明,增加了什么功能,修复了什么 bug 之类的。





    三、Git 优秀教程推荐

    1.廖雪峰 - Git 教程      [访问量: 29656109033,新手必看]
    2.GitHub 入门与实践 [密码:7aik,电子书,特别棒的入门书籍]
    2.git - 简明指南           [图形化模式,简单易懂]
    3.图解 Git                   [一样是图形化教程]
    4.Git 的奇技淫巧        [GitHub 12.8k stars]
    5.git-cheatsheeth      [图形化 Git 命令的作用域]


    全文 END。

    ------------------------------------------------- 我是一条「 ʕง•ᴥ•ʔง ʕ•ᴥ•ʔ ʕ ᵔᴥᵔ ʔ」分割线 -------------------------------------------------

    ps:本来只想写个流水账,结果越写越多,写了2 万字,写了好几天,查了 n 多资料,睡眠严重不足,吐血....
    在这里插入图片描述
    2022-3-29补充:如对 Git 入门教程有兴趣的同学,欢迎评论区留言,我小白的时候自己看了大把资料,摸索也写一篇给自己(小白)看的笔记,想看的人多的话我就整理一下发出来

    写作本文参考资料:

    1. Windows 系统 Git 安装教程(详解 Git 安装过程)[https://www.cnblogs.com/xueweisuoyong/p/11914045.html]
    2. Git 安装教程(详细)[https://www.jianshu.com/p/bebba0d8038e]

    1. GNU 操作系统 - 许可证 [http://www.gnu.org/licenses/licenses.html] ↩︎

    2. 大塚弘记. GitHub 入门与实践 [M]. 鹏浩,刘斌,译。人民邮电出版社,2017 ↩︎

    3. MintTY 官网 [http://mintty.github.io/] ↩︎

    展开全文
  • Git安装

    万次阅读 多人点赞 2021-10-24 19:41:20
    Git 安装 官网地址: https://git-scm.com/ 点击Download for Windows 查看 GNU 协议,可以直接点击下一步 选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步。 Git 选项配置,推荐默认设置,然后下...

    Git 安装

    官网地址: https://git-scm.com/

    点击Download for Windows

    查看 GNU 协议,可以直接点击下一步

    image-20211023201009264

    选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步。

    image-20211023201024307

    Git 选项配置,推荐默认设置,然后下一步。

    image-20211023201045171

    Git 安装目录名,不用修改,直接点击下一步。

    image-20211023201056207

    Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。

    image-20211023201107173

    默认分支名设置,选择让 Git 决定,分支名默认为 master,下一步

    image-20211023201122485

    修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git。

    image-20211023201138545

    选择后台客户端连接协议,选默认值 OpenSSL,然后下一步。

    image-20211023201148862

    配置 Git 文件的行末换行符, Windows 使用 CRLF, Linux 使用 LF,选择第一个自动
    转换,然后继续下一步

    image-20211023201200392

    选择 Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步。

    image-20211023201211016

    选择 Git pull 合并的模式,选择默认,然后下一步

    image-20211023201220917

    选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器,然后下一步。

    image-20211023201231698

    其他配置,选择默认设置,然后下一步。

    image-20211023201242406

    实验室功能, 技术还不成熟, 有已知的 bug,不要勾选,然后点击右下角的 Install
    按钮,开始安装 Git。

    image-20211023201253468

    点击 Finsh 按钮, Git 安装成功!

    image-20211023201306598

    右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。

    在 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功。

    image-20211023201547097

    展开全文
  • Windows系统Git安装教程(详解Git安装过程)

    万次阅读 多人点赞 2021-02-20 19:22:20
    获取Git安装程序 到Git官网下载,网站地址:https://git-scm.com/downloads,如下图: 因为我们是用Windows系统上的浏览器访问的,Git官网自动之别到了我使用的操作系统,所以右侧直接显示下载使用Windows系统的...

    获取Git安装程序

    到Git官网下载,网站地址:https://git-scm.com/downloads,如下图:

    在这里插入图片描述

    因为我们是用Windows系统上的浏览器访问的,Git官网自动之别到了我使用的操作系统,所以右侧直接显示下载使用Windows系统的最新版本(如果识别错误,可以在中间选择系统),点击即可下载。我下载的是 2.24.0 for Windows,文件名称是“Git-2.24.0.2-64-bit.exe”。下载到电脑上之后,鼠标双击这个文件即可进入安装过程。

    Git安装过程

    双击看到的第一个界面如下图:

    01、使用许可声明
    在这里插入图片描述
     点击“Next”进入下图页面:

    02、选择安装路径

    在这里插入图片描述

    在输入框内输入想要安装到的本机路径,也就是实际文件夹位置,或点击“Browse…”选择已经存在的文件夹,然后点击“Next”按钮继续,进入下图界面:

    03、选择安装组件

    在这里插入图片描述
    上图红框内的选项是默认勾选的,建议不要动。绿色框1是决定是否在桌面创建快捷方式的。绿色框2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。

    点击“Next”按钮进入下图界面:

    04、选择开始菜单页
    在这里插入图片描述

    这个界面是创建开始菜单中的名称,不需要修改,直接点“Next”按钮继续到下图的界面:

    05、选择Git文件默认的编辑器
    在这里插入图片描述
    这个页面是在选择Git文件默认的编辑器,很少用到,所以默认Vim即可,直接点“Next”按钮继续到下图的界面:

    06、调整您的PATH环境

    在这里插入图片描述

    这个界面是调整您的PATH环境。

    第一种配置是“仅从Git Bash使用Git”。这是最安全的选择,因为您的PATH根本不会被修改。您只能使用 Git Bash 的 Git 命令行工具。但是这将不能通过第三方软件使用。

    第二种配置是“从命令行以及第三方软件进行Git”。该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。
    您将能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。这也是推荐的选项。

    第三种配置是“从命令提示符使用Git和可选的Unix工具”。警告:这将覆盖Windows工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。

    我选择推荐的选项第二种配置,点击“Next”按钮继续到下图的界面:

    07、选择HTTPS后端传输

    在这里插入图片描述
    这个界面是选择HTTPS后端传输。

    第一个选项是“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。

    第二个选项是“使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。

    我使用默认选项第一项,点击“Next”按钮继续到下图的界面:

    08、配置行尾符号转换

    在这里插入图片描述
    这个界面是配置行尾符号转换。

    第一个选项是“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的推荐设置(“ core.autocrlf”设置为“ true”)

    第二个选项是“按原样签出,提交Unix样式的行尾”。签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“ input”)

    第三种选项是“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“ core.autocrlf”设置为“ false”)

    我选择第一种选项,点击“Next”按钮继续到下图的界面:

    09、配置终端模拟器以与Git Bash一起使用

    在这里插入图片描述
     这个界面是配置终端模拟器以与Git Bash一起使用。

    第一个选项是“使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互式Python)必须通过“ winpty”启动才能在MinTTY中运行。

    第二个选项是“使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗口(“cmd.exe”),该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。

    我选择默认的第一种选项,点击“Next”按钮继续到下图的界面:

    10、配置配置额外的选项
    在这里插入图片描述

    这个界面是配置配置额外的选项。

    第一个选项是“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。

    第二个选项是“启用Git凭证管理器”。Windows的Git凭证管理器为Windows提供安全的Git凭证存储,最显着的是对Visual Studio Team Services和GitHub的多因素身份验证支持。 (需要.NET Framework v4.5.1或更高版本)。

    第三个选项是“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。

    我勾选默认的第一、第二选项,点击“Next”按钮继续到下图的界面:

    11、配置实验选项

    在这里插入图片描述

    这个界面是配置实验选项。

    启用实验性的内置添加 -i / -p。(新!)使用实验性的内置交互式add(“ git add -i”或“ git add -p”)。这使其速度更快(尤其是启动!),但尚未被认为是可靠的。

    默认不勾选,直接点击“Next”按钮继续到下图的安装进度界面:

    12、安装进度指示

    在这里插入图片描述

    安装进度结束之后,会出现下图的完成Git安装向导界面:

    13、安装完成
    在这里插入图片描述

    在这个界面,可以勾选是否启动启动Git Bash和是否查看发行说明,然后点“Finish”按钮退出安装界面。

    14、启动测试
      到此,Git的安装完成,可以在开始菜单中看到Git的三个启动图标(Git Bash、Git CMD(Deprecated)、Git GUI)。

    Git Bash,是Git配套的一个控制台,点击打开如下图:
      在这里插入图片描述
    Git CMD(Deprecated),是通过CMD使用Git(不推荐使用),点击打开如下图:
    在这里插入图片描述

    Git GUI,是Git的可视化操作工具,点击打开如下图:在这里插入图片描述
    关于Git的安装过程就介绍到这里啦。

    展开全文
  • Git安装以及基本配置

    千次阅读 2022-04-22 22:45:51
    Git安装即基本部署,附基本指令
  • Git安装配置超详细教程

    千次阅读 2022-03-13 10:08:27
    Git安装配置超详细
  • 查看git安装路径(注意是git.exe)

    千次阅读 2022-02-22 21:35:16
    打开cmd 输入 where git
  • 超详细Git 安装教程(Windows)

    万次阅读 多人点赞 2021-03-14 12:23:07
    Git 安装教程(windows) 对最新版本的git安装进行记录。 git下载地址:https://git-scm.com/download/win 下载后点击即可进行安装,下面是具体安装步骤,这次安装的版本为2.30.2 可能和之前版本的步骤稍不同。 ...
  • Git安装教程(详细教程)

    万次阅读 多人点赞 2020-09-17 11:34:04
    Git安装教程 大家好,今天我们来学习一下怎么安装git这个软件,好好看,好好学,超详细的。 第一步 下载git(找到自己需要的版本) 第二步 下载完点击安装包进入使用许可声明界面 第三步 点击Next进入选择...
  • Git安装步骤嗷,详细到每一步

    千次阅读 2022-03-16 15:47:40
    Git2.35.1.2-64-bit安装 正在上传…重新上传取消 安装总结:一路默认,文件路径可以换,但必须是全英文路径!!!要是担心有问题,可以参考以下步骤: 正在上传…重新上传取消 这里↓可以修改路径,但是...
  • Git安装配置与使用(超级详细)

    千次阅读 2021-03-29 18:23:39
    目录一、安装与配置1.1 安装1.2 Git配置二、Git使用(重点)2.1 配置SSH公钥及新建仓库的两种方式2.1.1 配置SSH公钥2.1.2 两种创建仓库方式2.2 IDEA中Git使用 一、安装与配置 1.1 安装 首先Git版本控制工具需要下载...
  • Git安装教程(详细)

    千次阅读 2021-03-04 01:57:36
    首先下载Git安装包 下载 GitGit官网 第一步:双击下载后的exe文件,开始安装 第二步:选择安装路径,点击[next] 第三步:在窗口中选择组件,添加勾选倒数第二个组件:在所有命令行中使用Truetype字体,点击[next]...
  • git安装和教程,史上最全(一)

    千次阅读 2021-11-04 08:43:00
    安装git步骤: 官网下载地址:Git - Downloads 1.用户协议: 2.安装位置: 3.基本配置: 4.快捷方式存放位置及是否需要开始菜单中创建快捷方式: 5.选择默认的vim编辑器: 6.自定义分支名称,这里选...
  • Git 安装配置全流程

    万次阅读 多人点赞 2020-04-22 10:59:28
    GIT 安装与配置 一、下载安装Git 1.下载Git 官方地址为:https://git-scm.com/download/win 2.下载完之后,双击安装 3.选择安装目录 4.选择组件 5.开始菜单目录名设置 6、选择使用命令行环境 ...
  • 最新Git安装教程

    千次阅读 2020-08-05 21:59:01
    Git简介: Git(读音为/gɪt/)是一个开源的分布式版本控制...Git安装 官网:https://git-scm.com/download/win 1.选择默认路径 2.选择安装功能 3.设置安装目录名称 4.设置默认的编辑器 5.path配置 6.选择链接方式
  • mac git安装和配置

    千次阅读 2021-07-30 11:28:28
    mac上安装git 如果电脑上安装了homebrew,可以直接打开终端,使用命令 brew install git 安装安装好之后可以使用git --version来查看git版本。
  • VScode的git安装与配置

    千次阅读 2021-03-01 20:32:58
    git下载与安装 1、在官网下载git的最新版本 2、按照提示一步步安装完成,具体步骤参看以下文章: 转https://blog.csdn.net/qq_40342589/article/details/105676715 VScode配置 1、由于VScode默认git路径是C:/,所以...
  • Mac下的Git安装及简单操作(莫烦教程学习心得)
  • Git安装 Git最新版 2.28.0 版本详细安装步骤

    千次阅读 多人点赞 2020-09-17 22:22:14
    在linux系统下,可以直接在命令窗口安装和使用git。但是,在windows系统下,想要达到同样的效果,可以安装git,使用git bash到达效果。具体安装步骤如下: Git 最新版 2.28.0详细安装步骤 1.下载地址 进入官网 ...
  • windows系统上git安装及使用教程

    千次阅读 2021-05-23 16:49:21
    一、git安装 进入git官网:git官网,下载windows版本并安装。 具体安装教程参考:安装教程。 二、git连接gitlab个人远程仓库 本地git仓库和gitlab网络仓库之间的传输是通过ssh加密的,必须要让gitlab仓库认证你ssh ...
  • Windows系统Git安装图文教程

    千次阅读 2021-06-28 10:32:55
    二、安装过程 步骤1 步骤2 步骤3 步骤4 步骤5 步骤6 步骤7 步骤8 步骤9 步骤10 步骤11 步骤12 步骤13 步骤14 步骤15 步骤16 三、安装成功验证 在命令行中输入 git --version 返回如下类别信息为...
  • git安装(支持离线安装)

    千次阅读 2020-12-24 11:33:51
    git安装(支持离线安装) 安装依赖 离线安装 先下载安装包 git-2.28.0.tar.gz及依赖,支持离线安装 把rpm包拷贝到linux上后执行 # 进入到git-depend on目录 rpm -Uvh ./*.rpm --nodeps --force 注意:要有force,...
  • GIT 安装 国内镜像

    千次阅读 2020-07-07 14:01:27
    GIT 安装 国内镜像git官网淘宝镜像地址 git官网 https://git-scm.com/download/win 下载超慢,要几个小时 淘宝镜像地址 https://npm.taobao.org/mirrors/git-for-windows/ 嗨到你飞起来
  • Git安装详细步骤

    千次阅读 2020-05-03 09:26:53
    下载安装Git 1 . 下载Git, 官方下载地址:https://git-scm.com/download/win 根据自己的电脑选择32位或者64位操作系统进行下载。 2 . 等待下载完毕,双击进行安装。 3 . 选择软件安装目录,可以使用默认目录也...
  • Git安装教程(Windows安装超详细教程) weir_will关注 0.92017.10.08 00:59*字数 728阅读 17955评论 8喜欢 41 2018年4月14日更新 更新使用总的问题 今天重新安装一下Git软件;就详细的记录一下安装步骤;毕竟...
  • 目录1、安装 Git1.1 在 Linux 上安装1.2 在 Mac 上安装1.3、在 Windows 上安装1.4、从源代码安装2、全局设置用户名邮箱配置2.1 查看git配置信息2.2 查看git用户名2.3 查看邮箱配置2.4 全局配置用户名2.5 全局配置...
  • mac 查找git安装目录

    千次阅读 2020-05-25 14:51:26
    git版本号 git version 查找git安装目录 which git 查看git与用户信息 git config --list git config user.name
  • m1 Mac Homebrew + git安装

    千次阅读 2021-07-14 16:16:48
    记录自己首次安装相关环境的方法步骤
  • Mac上Git安装与配置

    千次阅读 2019-07-30 01:27:18
    目录一、Git安装 -- Mac OS二、Git 配置三、提交本地项目到GitHub 目录 前言 本文章所展示的如何Git安装与配置的具体步骤,第一次在CNDS上发布处女文章 (有点小激动),如有做的不足的地方还请大佬们指正。 一、Git...
  • 查看本地git安装位置

    万次阅读 多人点赞 2018-11-14 10:29:49
    查看本地git安装位置  git安装时没有注意git的安装位置,使用的默认的安装位置,当在idea中配置版本控制器Version Control时,需要填写git.exe文件的位置,我用的windows系统。 我们可以利用win+R,然后输入cmd,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 514,801
精华内容 205,920
关键字:

git安装