zoukankan      html  css  js  c++  java
  • Linux入门实践笔记(四)——Win下安装配置Git以及GitHub项目托管

    内容

      本文演示了Git在Windows系统下的安装,在GitHub上新建仓库,以及将本地项目源码上传到仓库中的操作。

    版本

      ​操作系统:Windows 10

      ​Git version: 2.16.1-64-bit

    说明

      转载请说明出处:Linux入门实践笔记(四)——Win下安装配置Git以及GitHub项目托管

    参考

    ​  Git Win系统的下载地址:https://git-scm.com/download/win

      Git 基础 - 记录每次更新到仓库:https://git-scm.com/book/zh/v2/Git-基础-记录每次更新到仓库

    步骤

    Git安装

    ​  从官网https://git-scm.com下载最新版的Git,本示例使用windows系统下的2.16.1-64-bit版本。下面开始安装:

    1540515967874

      建议至少勾选前三项,分别是增加桌面Git图标,增加右键菜单栏的Git Bash HereGit GUI Here

    1540516066749

      是否在开始菜单栏中增加Git文件夹,由于笔者很少通过开始菜单栏进入Git,此处选择不创建。

    1540516122464

      第一项不会改动系统的环境变量,只能通过右键Git Bash Here使用Git命令。

    ​  第二项会将Git添加到环境变量中,从而可以在CMD中执行Git命令。

      第三项将Git和Unix工具一起加到环境变量中。这会覆盖Windows中的一些工具。

      本示例选择第一项。

    1540516450602

      选择Git使用的HTTPS连接库,此处使用默认选项。

    1540516577521

      配置文件结尾字符的处理,默认选择第一项。将文本行结尾的LF转为CRLF。

    1540516622314

      配置Gti Bash使用的终端模拟器,示例选择第一项默认的MinTTY,相比第二项是Windows自带的控制台终端更加方便。

    1540516671396

      配置额外选项:默认勾选开启文件系统缓存,和Git证书管理器。

    1540516798927

      默认不勾选实验选项。

    1540516811540

      开始安装。

    1540516829650

      安装完毕之后,可以在任意目录下右击鼠标看到Git Bash Here的选项,点击进入Git Bash。

    1540520236922

    Git配置

      使用git config配置和查看全局的账号和邮箱。在第一次进行Commit操作时会输入账号对应的密码。注意,账号和邮箱需要配置的与GitHub一致才会在提交记录上看到自己的头像。

    #配置全局的账号
    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f
    $ git config --global user.name "leo-zz"#配置全局的邮箱
    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f
    $ git config --global user.email "10000@qq.com"#查看配置信息
    #账号和邮箱需要配置的与GitHub一致才会在提交记录上看到自己的头像。
    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f $ git config --list color.status=auto color.branch=auto color.interactive=true user.email=10000@qq.com user.name=leo-zz ...​

      Git常用命令:

    Git命令

    Git卸载

      在“控制面板”中的“卸载或更改程序”找到Git,右键删除即可。

    1540520481205

    GitHub仓库创建

    1540480232592

    1540480449834

      仓库的地址

    1540480573526

    本地项目源码托管

      创建文件夹存放仓库代码,在该文件夹右键,点击Git Bash Here进入Git Bash,执行git clone指令,将仓库代码下载到本地。

    #执行git clone指令,将仓库代码下载到本地。
    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f
    $ Git clone https://github.com/leo-zz/SpringBootDemo.git
    Cloning into 'SpringBootDemo'...
    warning: You appear to have cloned an empty repository.
    Checking connectivity... done.

      先简单说下工作目录中文件的两种状态:已跟踪或未跟踪。

      已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。

      未跟踪文件是工作目录中除已跟踪文件以外的所有其它文件,它们既不存在于上次快照的记录中,也没有放入暂存区。

    Git文件的lifecycle

      然后将项目源码redisDemo文件夹拷贝到从GitHub上克隆的文件夹SpringBootDemo中,进入SpringBootDemo文件夹,右键进入Git Bash。

      执行git status查看当前工作目录中文件的状态,可以看到新拷贝的redisDemo文件夹已经被标记为未跟踪。

    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f/SpringBootDemo (master)
    $ git status
    On branch master
    Initial commit
    Untracked files:
        #可以看到新拷贝的redisDemo文件夹已经被标记为未跟踪。
      (use "git add <file>..." to include in what will be committed)
           redisDemo/
    nothing added to commit but untracked files present (use "git add" to track)

      执行git add将未跟踪的redisDemo文件夹列入跟踪范围。

    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f/SpringBootDemo (master)
    #将未跟踪的redisDemo文件夹列入跟踪范围
    $ git add  redisDemo/
    #下面的警告是将文件的结尾符LF替换为CRLF
    warning: LF will be replaced by CRLF in redisDemo/.gitignore.
    The file will have its original line endings in your working directory.
    ...

      执行git status再次查看当前工作目录中文件的状态,可以看到redisDemo文件夹中的内容被标记为Changes to be committed:,这说明该文件夹已被跟踪,并处于暂存状态。git add 命令使用文件或目录的路径作为参数;如果参数是目录的路径,该命令将递归地跟踪该目录下的所有文件。

    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f/SpringBootDemo (master)
    $ git status
    On branch master
    Initial commit
    #该文件夹已被跟踪,并处于暂存状态
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
           new file:   redisDemo/.gitignore
           new file:   redisDemo/pom.xml
           new file:   redisDemo/src/main/java/com/leo/redisdemo/RedisdemoApplication.java
       ...

      ​ 执行git commit将暂存状态的文件进行提交,此处为了简单起见,添加 -m 选项,将提交信息与命令放在同一行执行。

    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f/SpringBootDemo (master)
    #添加 -m 选项,将提交信息与命令放在同一行执行。 
    $ git commit -m 'redis demo first commit'
    [master (root-commit) cc3a105] redis demo first commit
     7 files changed, 339 insertions(+)
     create mode 100644 redisDemo/.gitignore
     create mode 100644 redisDemo/pom.xml
     create mode 100644 redisDemo/src/main/java/com/leo/redisdemo/RedisdemoApplication.java
     create mode 100644 redisDemo/src/main/java/com/leo/redisdemo/config/RedisConfig.java
     create mode 100644 redisDemo/src/main/java/com/leo/redisdemo/util/RedisHashUtil.java
     create mode 100644 redisDemo/src/main/resources/application.yaml
     create mode 100644 redisDemo/src/test/java/com/leo/redisdemo/RedisdemoApplicationTests.java

      执行git push将本地分支的更新,推送到GitHub。第一次提交会要求输入GitHub的账号,并弹出框要求输入密码。

    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f/SpringBootDemo (master)
    $ git push origin master
    #输入GitHub的账号,并在下面的弹出框内输入密码。
    Username for 'https://github.com': leo-zz
    Enumerating objects: 24, done.
    Counting objects: 100% (24/24), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (13/13), done.
    Writing objects: 100% (24/24), 4.21 KiB | 431.00 KiB/s, done.
    Total 24 (delta 0), reused 0 (delta 0)
    remote:
    remote: Create a pull request for 'master' on GitHub by visiting:
    remote:     https://github.com/leo-zz/SpringBootDemo/pull/new/master
    remote:
    To github.com:leo-zz/SpringBootDemo.git
     * [new branch]     master -> master

    1540527938625

      执行git status再次查看当前工作目录中文件的状态,可以看到nothing to commit, working directory clean,说明工作目录中已跟踪文件在上次提交后都未被更改过。

    j2eeLe@DESKTOP-LNDCVD9 MINGW64 /f/SpringBootDemo (master)
    $ git status
    On branch master
    Your branch is based on 'origin/master', but the upstream is gone.
      (use "git branch --unset-upstream" to fixup)
    nothing to commit, working directory clean
  • 相关阅读:
    audio_policy.conf说明(翻译)
    Qt
    linux C
    Linux C
    Linux C
    Qt
    Qt
    JSON
    JSON
    Qt
  • 原文地址:https://www.cnblogs.com/lonelyJay/p/9858278.html
Copyright © 2011-2022 走看看