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

 

posted @ 2018-10-26 19:39  比脚更长的路  阅读(481)  评论(0编辑  收藏  举报