Git大全总结

113 阅读7分钟

Git 大全总结

Git 的卸载

先删除 Git 的 path 环境变量(如未配置环境变量可直接跳过,环境变量会在安装Git的时候自动帮你配置好)

然后去控制面板卸载即可,或者使用其他的电脑管家软件直接卸载 Git 即可

Git 的安装

无脑下一步

启动 GIt

任意文件夹下,右键鼠标,就会看到 Git GUI HereGit Bash Here

Git Bash: Unix 与 Linux 风格的命令行,使用最多,推荐

Git CMD: Windows 风格的命令行

Git GUI: 图形界面的 Git,不建议,尽量先熟悉常用命令

Git 必要的环境配置

git 相关的所有的配置文件,都保存在本地!

1)Git\etc\gitconfig         # Git安装目录下的gitconfig里 ——系统级配置
2)C:\Users\Administrator.gitconfig     # 只适用于当前登录用户的配置 ——global全局配置

至于环境变量?环境变量只是为了全局使用而已!然而现在我们可以直接在任何地方右键 Git Bash Here 来使用 Git,而当你一路无脑安装下去的时候,已经默认帮你配置好 path 环境变量了。


查看当前计算机上 Git 的所有配置:

git config -l

可以看到配置的 username 和 useremail,如果没有配置这两项,是不显示的,需要自己配置


查看系统给的默认配置:

git config --system --list


查看全局(本地)配置:

git config --global --list

通过该命令查看到的 username 和 useremail 是必须要配置的!!

用以区分是谁提交的。


设置用户名与邮箱(用户标识,必要的)

git config --global user.name "duruikun"

git config --global user.email "123@qq.com"

其实对应的就是这个配置文件:C:\Users\Administrator.gitconfig # 只适用于当前登录用户的配置 ——global全局

Git 基本理论(核心)

工作区域

Git 本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository 或 Git Directory)。如果再加上远程的 git 仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域的转换关系如下:

image.png


  1. Workspace:工作区,就是平时存放项目代码的地方:D:\ideaprojects\xxx...
  2. Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  3. Repository:仓库区(本地仓库),就是安全存放数据的位置,这里有你提交到所有版本的数据。其中 HEAD 指向最新放入仓库的版本
  4. Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

工作流程

Git 的工作流程一般是这样的:

  1. 在工作目录中添加、或修改文件 eg:修改了UserMapper.xml文件
  2. 将需要进行版本管理的文件放入暂存区域 git add .
  3. 将暂存区域的文件提交到 git 仓库 git commit
  4. 再将本地仓库推到远程仓库 git push

因此,git 管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)


Git 项目搭建流程

创建工作目录与 Git 常用指令

工作目录(WorkSpace)一般就是你希望 Git 帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

最重要的是下面几个命令:

image.png


本地仓库搭建

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。

  1. 创建全新的仓库,需要用 Git 管理的项目的根目录执行:

    # 在当前目录新建一个Git代码库
    $ git init
    
  2. 执行后可以看到,仅仅在项目目录多出了一个 .git 目录,关于版本等的所有信息都在这个目录里面


克隆远程仓库

  1. 另一种方式是克隆远程目录,是将远程服务器上的仓库完全镜像一份至本地。

    # 克隆一个项目和它的整个代码历史(版本信息)
    $ git clone [url]
    
  2. 去 GitHub、Gitee 上测试


Git 文件操作

文件的四种状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者本该要提交的文件却没提交上。

  1. Untracked:未跟踪,此文件在文件夹中,但并没有加入到 Git 库,不参与版本控制,通过 git add 状态变为 Staged
  2. Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致。这种类型的文件有两种去处:如果它被修改而变为 Modified,如果使用 git rm 移出版本库,则成为 Untracked 文件
  3. Modified:文件已修改,仅仅是修改,并没有进行其他的操作。这个文件也有两个去处:通过 git add 可进入暂存 staged 状态,使用 git checkout 则丢弃修改过,返回到 UnModify 状态,这个 git checkout 即从库中取出文件,覆盖当前修改
  4. Staged:暂存状态。执行 git commit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为 UnModify 状态,执行 git reset HEAD [fileName] 取消暂存,文件状态为 Modified

查看文件状态

文件有四种状态,通过如下命令可以查看到文件的状态:

# 查看指定文件状态
git status [fileName]# 查看所有文件状态
git status
​
# git add .         添加所有文件到暂存区
# git commit -m     提交暂存区中的内容到本地仓库  -m提交信息

忽略文件 .gitignore

*.txt           # 忽略所有以.txt结尾的文件
!lib.txt        # 但lib.txt除外
/temp           # 仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/          # 忽略build/目录下的所有文件
doc/*.txt       # 忽略doc文件夹下以.txt结尾的所有文件

gitignore 文件模板

# Java #
*.class
*.log
*.lock
​
# Package Files #
*.jar
*.war
*.ear
target/
​
# idea #
.idea/
*.iml

使用 Gitee

1:注册

2:配置基本信息

3:设置本机绑定 SSH 公钥 实现免密登录

这一步挺重要的,Gitee 是远程仓库,我们平时工作是在本地仓库,如果不去配置绑定公钥,那么每次 push 的时候都需要输入密码

# 进入C:\Users\Administrator.ssh
# 生成公钥
命令:ssh-keygen
加密:ssh-keygen -t rsa

4:将公钥信息添加到码云账户中即可

image.png


Gitee 仓库与本地仓库绑定

使用 Gitee 创建自己的仓库

  1. 新建仓库
  2. 克隆到本地

IDEA 中集成 Git

  1. 新建项目,绑定 git

    创建一个普通项目,这样默认创建出来的项目是没有连git的,只需要将
    
  2. 修改文件,使用 IDEA 操作 git

  3. 提交测试


多人开发 —— Git 分支

分支在 Git 中相对较难,分支就是平行宇宙,如果两个平行宇宙互不干扰,那对现在的我们也没什么影响;不过,在某个时间点,两个平行宇宙合并了,我们就需要处理一些问题了!

image.png

Git 分支中常用指令

# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 新建一个分支,但依然停留在当前分支
git branch [branch-name]

# 切换分支
git checkout [branch-name]

# 新建一个分支,并切换到该分支
git checkout -b [branch]

# 合并指定分支到当前分支
git merge [branch]

# 删除分支
git branch -d [branch-name]

# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

多个分支如果并行执行,就会导致代码不发生冲突,也就是同时存在多个版本!

Master 主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的 dev 分支上工作,工作完成后,如果要发布,或者说等 dev 分支代码稳定后可以合并到主分支 master 上来

\