Git

Git 简介

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] 也是[Linus Torvalds](https://baike.baidu.com/item/Linus Torvalds/9336769)为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件

ideamvn指定本地仓库_github

Git的下载和安装

一、下载

  • 下载官网:https://git-scm.com/download

ideamvn指定本地仓库_github_02

二、安装

  • 傻瓜式安装:一路下一步。安装完成后在电脑桌面右击显示

ideamvn指定本地仓库_ideamvn指定本地仓库_03

  • Git GUI Here:图形界面工具
  • Git Bash Here:命令行工具

Git的基本配置

一、打开cmd命令窗口,进行全局设置

1、设置全局用户名和邮箱(管理员权限下)

git config --global user.name "your name"
git config --global user.email "your email"

ideamvn指定本地仓库_ideamvn指定本地仓库_04

2、查看配置信息

git config --list

ideamvn指定本地仓库_远程仓库_05

本地仓库的相关操作

一、在本地初始化一个Git仓库

1、在电脑的任意位置创建一个空目录

2、进入这个目录中,点击右键打开Git bash窗口

3、执行命令

git init

ideamvn指定本地仓库_github_06

二、查看文件状态

git status

ideamvn指定本地仓库_github_07

三、将文件添加(修改)版本库

1、创建一个文件、将其添加到暂存区,然后才能到仓库中

ideamvn指定本地仓库_intellij-idea_08

2、添加单个文件到暂存区

git add readme.txt

ideamvn指定本地仓库_远程仓库_09

3、将当前目录下所有修改添加到暂存区,除按照规则忽略的之外

git add .

ideamvn指定本地仓库_github_10

  • 如果要将文件再次放入暂存区,该文件必须相对之前的版本要有改变才能放进去。
  • 修改文件内容

ideamvn指定本地仓库_intellij-idea_11

4、将暂存区中的文件,提交到仓库中

  • 如果暂存区有文件,则将其中的文件提交到仓库
  • 带评论提交,用于说明提交内容、变更、作用等
git commit -m 'your comments'

ideamvn指定本地仓库_ideamvn指定本地仓库_12

5、查看提交历史记录

  • 查看自己做过的提交,或者需要寻找某个具体的提交来查看当时的代码
  • 显示所有提交的历史记录
git log

ideamvn指定本地仓库_ideamvn指定本地仓库_13

  • 单行显示提交历史记录的内容
git log --pretty=oneline

ideamvn指定本地仓库_ideamvn指定本地仓库_14

四、回退版本

1、查看版本的提交id

git reflog

ideamvn指定本地仓库_git_15

2、回退到 commit_id 指定的提交版本

git reset --hard 'commit_id'

ideamvn指定本地仓库_git_16

五、删除文件

git rm
  • 注意: git rm 只能删除已经提交到版本库中的文件。其他状态的文件直接用这个命令操作是出错的。

ideamvn指定本地仓库_ideamvn指定本地仓库_17

六、忽略文件

  • 一般在工作区中,并不是所有文件都需要纳入版本控制的。
  • 这种不需要进行版本控制的通常都是些自动生成的文件。
  • 比如:idea工程文件(springmvc.iml)、编译后 文件target、系统上传的图片img。
  • 在.git同目录下,运行touch .gitignore

ideamvn指定本地仓库_intellij-idea_18

分支

一、查看分支

1、查看本地分支

git branch # 查看相对详细的本地分支信息
git branch -v

2、查看包括远程仓库在内的分支信息

git branch -av

ideamvn指定本地仓库_远程仓库_19

二、创建分支

1、新建一个名称为 mary 的分支

git branch mary

ideamvn指定本地仓库_intellij-idea_20

三、切换分支

1、新建完 mary 分支以后,通过该命令切换到 mary 分支

git checkout mary

ideamvn指定本地仓库_远程仓库_21

  • 注意
  • 当我们创建完分支以后,我们需要切换到新建的分支,否则,所有的修改,还是在原来的分支上。
  • 事实上,所有的改动,只能影响到当前所在的分支。

四、创建并切换分支

1、新建 tom 分支,并切换到该分支上

git checkout -b tom

ideamvn指定本地仓库_远程仓库_22

五、合并分支

1、切换回 master 分支

git checkout master

2、将 tom 分支中的修改合并回 master 分支

git merge tom

ideamvn指定本地仓库_git_23

  • 注意:
  • 分支修改文件中如果有换行的话会报错

六、删除分支

1、删除 mary 分支

git branch -d mary

ideamvn指定本地仓库_intellij-idea_24

远程仓库

一、注册账号

1、官网:https://gitee.com/

ideamvn指定本地仓库_intellij-idea_25

二、创建仓库

1、第一次创建

ideamvn指定本地仓库_github_26


ideamvn指定本地仓库_git_27

2、第n次创建

ideamvn指定本地仓库_git_28

三、同步远程仓库

gitee支持“https”和“ssh”等方式。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。而且如果是公司配置的私有git服务器一般不提供 https方式访问,所以我们要来着重演示“ssh”方式。

1、ssh配置,生成密钥

ssh-keygen  -t  rsa

ideamvn指定本地仓库_github_29

2、执行命令完成后,在window本地用户.ssh目录C:\Users\用户名.ssh下面生成如下名称的公钥和私钥

ideamvn指定本地仓库_github_30

3、配置

ideamvn指定本地仓库_远程仓库_31

4、将远程仓库克隆到本地

git clone 地址
  • 注意:警告的含义是克隆了一个空的仓库

ideamvn指定本地仓库_ideamvn指定本地仓库_32

5、查看远程仓库

  • 查看配置好的远程仓库服务器,可运行 git remove 命令。
  • 该命令会列出 指定的每一个远程仓库服务器的简写
  • 若已克隆远程仓库,那至少应该看到 origin,这是 Git 克隆仓库服务器的默认名字
git remote -v

ideamvn指定本地仓库_git_33

6、若有一个本地仓库,要发布到远程仓库

  • 为本地仓库添加远程仓库
  • 将本地仓库和远程仓库连接起来
  • 注意:远程仓库必须存在
git remote add origin your_remote_git_repo

ideamvn指定本地仓库_git_34

7、推送本地内容到远程仓库

  • 本地仓库中,代码完成提交,就需推送到远程仓库,其他开发人员可从远程仓库同步内容
(1)将本地 master 分支推送到 origin 远程分支
git push -u origin master

git push origin master
(2)注意
git push -u origin master
  • git push -u origin master,第一次使用时,带上 -u 参数,在将本地的master分支 推送到远程新的 master分支的同时,还会把本地的master分支和远程的master分支关联起来
(3)推送前,需要 pull 远程仓库
  • 如果发现提交版本不一致,出现错误
(4)在文件夹中在创建一个文件,并放入暂存区进行提交,推送到远程

ideamvn指定本地仓库_远程仓库_35

8、从远程仓库获取最新内容

  • 多人协作中,当自己完成本地仓库中的提交,向远程仓库推送前,需要先获取到远程仓库的最新内容。
git fetch origin master
#或者
git pull origin master
  • git fetch :是仅仅获取远程仓库的更新内容,并不会自动做合并。
  • git pull:在获取远程仓库的内容后,会自动做合并
  • 可以看成git fetch之后git merge。

ideamvn指定本地仓库_ideamvn指定本地仓库_36

9、移除无效的远程仓库

git remote rm <shortname>
  • 注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

ideamvn指定本地仓库_github_37

IDEA的Git操作

1、在GitHub/码云中创建远程仓库

2、将模块交给Git管理

ideamvn指定本地仓库_intellij-idea_38

  • 若上图失败,去配置如下内容

3、配置忽略文件

ideamvn指定本地仓库_intellij-idea_39

4、先放到暂存区,再提交到本地仓库

  • 暂存区:add

ideamvn指定本地仓库_intellij-idea_40

  • 提交:commit

ideamvn指定本地仓库_远程仓库_41

ideamvn指定本地仓库_intellij-idea_42

5、以白色为背景的git管理不同颜色的表示

(1)红色

  • 新创建的文件

(2)绿色

  • 暂存区中的文件

(3)黑色

  • 本地仓中的文件

(4)蓝色

  • 已经提交到本地仓中的文件发生了内容的改变

6、推送到远程仓库

  • 第一步

ideamvn指定本地仓库_ideamvn指定本地仓库_43

  • 第二步

ideamvn指定本地仓库_ideamvn指定本地仓库_44

7、本地仓库常见操作

(1)新建文件

(2)存入暂存区

(3)提交文件

(4)修改文件

(5)与最新版本做对比,解决冲突

(6)确定没有冲突后,再次提交

(7)从远程仓库克隆(只能克隆代码,项目的相关配置还是需要自行配置)

  • 第一步

ideamvn指定本地仓库_git_45

  • 第二步

ideamvn指定本地仓库_git_46

  • clone好的工程,需要进行相关配置

8、创建分支

  • idea 打开分支

ideamvn指定本地仓库_ideamvn指定本地仓库_47

(1)创建分支

ideamvn指定本地仓库_远程仓库_48

(2)切换分支执行操作

ideamvn指定本地仓库_远程仓库_49

(3)合并分支(先切换到master分支)

ideamvn指定本地仓库_intellij-idea_50

9、查看提交历史

  • 第一步

ideamvn指定本地仓库_ideamvn指定本地仓库_51

  • 第二步

ideamvn指定本地仓库_intellij-idea_52