Git学习与日常指令使用

在这里插入图片描述

1.引言

在担任开发过程中,需要进行版本管理,以利于开发进度的控制。

在多人开发过程中,不仅需要版本管理,还需要进行多人协同控制。

2.介绍

Git是一个开源的分布式版本控制系统,用于敏捷高校地处理任何或小或大的项目

Git是Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

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

3.Git安装

下载Git:https://git-scm.com/downloads

下载Git
image-20210715134357953

安装,除了安装位置外,其他一直下一步即可

# 安装后,打开cmd,自报家门
# 如下信息会在提交代码时要使用,记录在你的每次提交中,以后才知道哪次提交是谁做的,“git log”可以查看
# 执行:
git config --global user.name "Your Name" 	#用户名
git config ——global user.email "email@example.com"	#邮箱
# 查看信息
git config -l
# 测试:cmd中执行,查看git版本
git version
  • Git图形化界面工具

    下载地址:https://tortoisegit.org/download/

    第一步:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDRgyLZC-1640883352407)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716145307595.png)]
    第二步:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6JraYhWB-1640883352408)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716145347214.png)]

4.架构

版本库:工作区中有一个隐藏目录.git,这个目录不属于工作区,而是git的版本库,是git管理的所有内容。

暂存区:版本库中包含一个临时区域,保存下一步要提交的文件。

分支:版本库中包含若干分支,提交的文件存储在分支中

架构图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JK9rDdER-1640883352409)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210715155835420.png)]

5.仓库

对应的就是一个目录,这个目录中的所有文件被git管理起来。

以后会将一个项目的根目录,作为仓库。

仓库中的每个文件的改动,都由git跟踪。

5.1 创建仓库

选择一个目录,执行命令:git init

新建仓库仓库目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b5CSPDn9-1640883352410)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210715171027215.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pxs7n0h7-1640883352411)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210715165816945.png)]
5.2 工作区

执行git init的目录即为工作区,如上例,D:\Git-repository目录即为工作区。【不包含.git目录】

工作区
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DGb0JLas-1640883352412)(C:%5CUsers%5CAdministrator%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210715171835989.png)]
5.3 暂存区
5.4 分支

6. 基本操作

6.1 查看仓库状态

执行git status可以看到工作区中文件的状态

未记录过的文件,是未跟踪(Untracked files)状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8tmifqyu-1640883352413)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716135831621.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8bjOXlpF-1640883352413)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716114214063.png)]
6.2 暂存文件

执行git add .,将工作区中的文件全部存入暂存区

.“:代表所有文件

将工作区中的文件存入暂存区
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lcAlGNiQ-1640883352414)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716141028970.png)]存到暂存区后:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3eyZQyf5-1640883352415)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716143759045.png)]
6.3 提交文件

执行git commit -m "这里写提交的内容描述信息",作用是将暂存区的文件存入分支,形成一个版本。

-m:代表-message,

提交文件,形成一个版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oEgbmmn7-1640883352415)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716144434693.png)]

7. 远程仓库

第5章中的仓库,其实是本地仓库。

当多人协同开发时,每人都在自己的本地仓库维护版本。

但很重要的一点是,多人之间需要共享代码、合并代码,此时就需要一个远程仓库

7.1 远程仓库工作模式
远程仓库工作模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgDfhayM-1640883352416)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716155423576.png)]
7.2 远程仓库选型

有很多远程仓库可以选择,比如github(https://github.com/),码云(https://gitee.com/)

此两种可以注册自己测试使用,但如果是商业项目,需要更多支持需要付费。

公司内部也可以有自己构建的远程仓库(http://qianfeng.qfjava.cn:8087/users/sign_in)。

7.3 基本操作

每个开发人员,在面对远程仓库时,会面临的一些基本操作。

7.3.1 注册Git服务器账号

码云注册账号,并登陆。

进入公司后,很可能会使用公司自己搭建的git服务器,则账号向领导索要即可。

7.3.2 新建远程仓库
创建远程私有仓库
第一步:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3MFJ3RVP-1640883352416)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716170801448.png)]第二步:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4fmBEi7l-1640883352417)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716171347421.png)]创建成功:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-69m1HQZ5-1640883352422)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716171812024.png)]
7.3.3本地关联远程仓库

执行git remote add 自定义远程仓库名 远程仓库地址,将本地关联远程仓库。

第一步:添加远程地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aat0V5fN-1640883352423)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716172514831.png)]
第二步:查看关联的远程地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YPf3yVFb-1640883352424)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716172730240.png)]
7.3.4 推送文件到远程仓库

执行git push 远程仓库地址名称 本地仓库分支名,将本地仓库某分支推送到远程仓库

第一步:指定分支推送到远程仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I3gQDXI6-1640883352424)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716173200617.png)]
第二步:输入码云用户名、密码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-es575Pvy-1640883352425)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716173450290.png)]
推送成功:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r0wv2v1i-1640883352425)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716173858092.png)]
刷新远程仓库(码云)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U9QDoLIs-1640883352426)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716175136427.png)]
7.3.5 克隆远程仓库

如果仓库已经由别人创建完毕,我们需要其中的内容,则可以通过git clone将其复制到本地。

第一步:新建目录,然后在其中执行git clone 远程仓库地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vgnY6hrc-1640883352426)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716182731201.png)]
远程仓库,复制到本地,并自动初始化为一个本地仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kWblsJ5G-1640883352427)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716182945408.png)]
7.3.6 代码共享

多人协同开发时,写好代码的git push上传到远程仓库;需要(更新)代码的git pull拉取代码即可。

模拟开发人员一:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FdMFcR99-1640883352427)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716190006499.png)]
(1)添加文件people1.txt,修改文件abc.txt内容(添加内容“我爱我的祖国和人民”)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w2ROGIdJ-1640883352428)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716190115651.png)]
(2)将本地仓库内容,上传到远程仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4KjEWBfg-1640883352428)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716190810351.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XwcTVY7X-1640883352428)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716191223615.png)]
模拟开发人员二:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KEMJMNZe-1640883352429)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716191403554.png)]
(1)拉取(更新)远程仓库的master分支内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KUE7Xbdl-1640883352429)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716191830436.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXAr4tM5-1640883352429)(Git%E5%AD%A6%E4%B9%A0-%E5%8D%83%E9%94%8B.assets/image-20210716191916854.png)]
7.3.6 更新远程仓库内容
7.3.7 命令汇总
命令作用
git remote add 标识名(origin) 远程地址本地关联远程仓库
git push 标识名 master将本地仓库内容上传到远程仓库
git pull 标识名 master从远程仓库下载内容到本地仓库
git clone 远程地址将远程仓库复制到本地,并自动形成一个本地仓库

8. 分支

8.1 分支简介

分支,是一个个版本最终存储的位置。

分支,就是一条时间线,每次git commit形成一个个版本,一个个版本依次存储在分支的一个个提交点上。

分支由多个提交点组成,分支上会有一个指针,默认总是指向最新的提交点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lxI4lNUf-1640883352430)(Git学习-千锋.assets/image-20210718165745775.png)]
8.2 分支基础操作
8.2.1 查看分支

查看当前仓库的分支:git branch

仓库中默认只有master分支

执行git commit时,默认是在master分支上保存版本。

默认只有master分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kfnU4FxU-1640883352430)(Git学习-千锋.assets/image-20210718180428847.png)]
8.2.2 创建分支

在商业项目开发过程中,我们不会轻易的在master分支上做操作。

我们会新建一个开发用的分支,在此分支上做版本的记录。

当代码确实没有问题时,才会将开发分支上成熟的代码版本添加到master分支上。

既保证开发过程中,可以及时记录版本,又保证master分支上每个提交点都是稳健版本。

执行git branch 创建分支名,将会创建自定义名称的分支。

创建分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t3m29UdP-1640883352430)(Git学习-千锋.assets/image-20210718185038399.png)]
8.2.3 切换分支

默认情况下,当前使用的分支是master分支

默认分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yThpDYTQ-1640883352431)(Git学习-千锋.assets/image-20210718185606696.png)]

可以切换到dev分支,则后续的git commit便会在dev分支上新建版本(提交点)

切换分支:git checkout 需要切换到的分支名

切换分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PFBjMdJI-1640883352431)(Git学习-千锋.assets/image-20210718190009603.png)]
再次查看分支情况
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T3JYX5Xb-1640883352431)(Git学习-千锋.assets/image-20210718190126814.png)]
8.3 新建分支细节

新建分支时,新分支,默认有哪些内容?分支中包含了哪些次提交?

8.3.1 新分支初始内容

每个分支都有一个指针,新建一个分支,首先是新建一个指针。(注意:新创建的分支会和现有分支拥有相同的内容)

而且新分支的指针会和当前分支指向同一个提交点

新分支包含的提交点就是从第一个提交点到分支指针指向的提交点。

每个分支都有一个指针,新建一个分支,首先是新建一个指针
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Eq0nUwiF-1640883352432)(Git学习-千锋.assets/image-20210718231303122.png)]
8.3.2 多分支走向

在master分支和新分支,分别进行git addgit commit

分支情况如下图:

master分支未动,在dev分支增加一次commit
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VHorvfQE-1640883352432)(Git学习-千锋.assets/image-20210718234033697.png)]
master分支增加一个commit,dev分支再增加一个commit
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QmoKucJv-1640883352433)(Git学习-千锋.assets/image-20210718232758077.png)]
8.3.3 分支提交日志

查看分支的提交日志,进而看到分支中提交点的详细情况

查看分支提交日志:git log --oneline

查看当前分支的提交日志
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L5zRVCEj-1640883352433)(Git学习-千锋.assets/image-20210718235826859.png)]
8.4 分支合并

两个分支内容的合并

git merge 分支a:合并分支a

合并的方式有两种:快速合并三方合并

8.4.1 快速合并(Fast-forward)

如果分支A当前的修改,是完全基于分支B的修改而来,则B分支合并A分支,就是移动指针即可。

合并前分支状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0H7RLIZ-1640883352434)(Git学习-千锋.assets/image-20210719182914722.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eaMV1KxB-1640883352434)(Git学习-千锋.assets/image-20210718234033697.png)]
快速合并效果(master合并dev)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ld0hIqdJ-1640883352435)(Git学习-千锋.assets/image-20210719183421999.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jd8nQRZF-1640883352435)(Git学习-千锋.assets/image-20210719184449487.png)]
8.4.2 三方合并

在不具备快速合并的条件下,会采用三方合并。

合并前,分支状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X9q9uto2-1640883352436)(Git学习-千锋.assets/image-20210719185101308.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DtzYAD9h-1640883352436)(Git学习-千锋.assets/image-20210719191352294.png)]
三方合并,将23的更改都累加在1上,形成新的提交点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-03wPrUlF-1640883352437)(Git学习-千锋.assets/image-20210719192424202.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sDMrlvDQ-1640883352437)(Git学习-千锋.assets/image-20210719192024493.png)]
8.4.3 合并冲突

两个分支进行合并,但它们含有对同一个文件的修改,则在合并时出现冲突,git无法决断该保留该文件哪个分支的修改。

8.4.3.1 冲突演示

场景模拟如下:

master分支修改3.txt文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Pzb9Rtv-1640883352437)(Git学习-千锋.assets/image-20210720160352123.png)]
dev分支修改3.txt文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DUIgZKEI-1640883352438)(Git学习-千锋.assets/image-20210720160849440.png)]
在master分支合并dev分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p40JRFWO-1640883352438)(Git学习-千锋.assets/image-20210720161404970.png)]

此时,打开3.txt

冲突后,git会将两个分支的内容都展示在文件中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O63smLn0-1640883352438)(Git学习-千锋.assets/image-20210720162459459.png)]
8.4.3.2 冲突解决

出现冲突后,如要由两个开发人员当面协商,该如何取舍,为冲突文件定义最终内容。

【解决方案】

  1. 保留某一方的,删除另一方的
  2. 保留双方的
  3. 但无论如何,要记得删除<<<< ==== >>>>这些标记
  4. 本质是两人协商为冲突的内容,定制出合理的内容。
根据协商,再次编辑文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VMWdrOoW-1640883352439)(Git学习-千锋.assets/image-20210720163546715.png)]
提交编辑后的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cq3mZ40N-1640883352440)(Git学习-千锋.assets/image-20210720163457248.png)]

9. Idea关联Git

9.1 关联Git

File>Settings>Version Control>Git,关联过程是自动的

此处关联是Idea可以自动完成的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K3d1Q24k-1640883352440)(Git学习-千锋.assets/image-20210720233842133.png)]
9.2 创建仓库(本地)

新建项目后,将项目目录创建为Git仓库

不过,注意!!要先设置忽略文件 “.gitignore”!

作用:被忽略的文件会被版本记录忽略,版本中不包含它们。

范围:不需要和其他开发共享的文件,具体见下图。(编译文件target、idea本地配置文件)

创建仓库前,先添加忽略文件.gitignore
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GuUfqURh-1640883352441)(Git学习-千锋.assets/image-20210721153818625.png)]
为项目添加git仓库:VCS>Import into Version Control>Create Git Repository
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UpAKiXRj-1640883352441)(Git学习-千锋.assets/image-20210721154007433.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XLwFMOsV-1640883352442)(Git学习-千锋.assets/image-20210721154554679.png)]
添加仓库【前】添加仓库【后】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKlpToVj-1640883352442)(Git学习-千锋.assets/image-20210721154953714.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IYRVGA4h-1640883352443)(Git学习-千锋.assets/image-20210721155038746.png)]
9.3 提交-commit(本地)

第一次提交

提交到本地分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vHH2jFX7-1640883352443)(Git学习-千锋.assets/image-20210721155611249.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qnt62Bb3-1640883352443)(Git学习-千锋.assets/image-20210721155812667.png)]

更新后提交(多次)

更新提交到本地分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sQjiKNGS-1640883352444)(Git学习-千锋.assets/image-20210721160854853.png)]
提交到本地分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WVygGZcx-1640883352444)(Git学习-千锋.assets/image-20210721161150459.png)]
idea查看当前分支版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ojLwR2zB-1640883352445)(Git学习-千锋.assets/image-20210721161342994.png)]
9.4 创建分支(本地)
创建分支dev
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPdQOiWv-1640883352445)(Git学习-千锋.assets/image-20210721161550974.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YdIfpoPJ-1640883352445)(Git学习-千锋.assets/image-20210721161634506.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4RVSM5uu-1640883352446)(Git学习-千锋.assets/image-20210721161743173.png)]
切换分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H3SUBYr8-1640883352446)(Git学习-千锋.assets/image-20210721161550974.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6Fu459m-1640883352446)(Git学习-千锋.assets/image-20210721162242478.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ysgOQ2ir-1640883352447)(Git学习-千锋.assets/image-20210721162307673.png)]
添加新版本到新分支dev,并查看版本日志
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ooX5NfSv-1640883352447)(Git学习-千锋.assets/image-20210721162823306.png)]
9.5 上传到远程仓库(push)
新建远程仓库,并推送到远程仓库VCS>Git>Push
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-StZN7WTc-1640883352447)(Git学习-千锋.assets/image-20210721163409351.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4fz6ulLB-1640883352448)(Git学习-千锋.assets/image-20210721163556594.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4yZXdYl4-1640883352448)(Git学习-千锋.assets/image-20210721164043186.png)]
项目上传到远程仓库后
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BGe6P2Hg-1640883352449)(Git学习-千锋.assets/image-20210721164225959.png)]
9.6 复制到本地仓库(clone)

如果有建好的远程仓库,比如公司内已经在用的仓库,或者github,码云上的一些公开仓库。

可以用将其复制到本地使用。

点击克隆菜单
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mNQPywxC-1640883352450)(Git学习-千锋.assets/image-20210721232715556.png)]
输入远程仓库地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iRNCttZd-1640883352451)(Git学习-千锋.assets/image-20210721233918735.png)]
克隆的项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1XcKJFh5-1640883352452)(Git学习-千锋.assets/image-20210721234224480.png)]
9.7 更新本地项目

如果远程仓库有更新,则你的本地项目也需要一起更新。

更新本地项目-方法1:选择pull菜单
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MKoPxi32-1640883352452)(Git学习-千锋.assets/image-20210722000551376.png)]
执行pull
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MuThSBeV-1640883352453)(Git学习-千锋.assets/image-20210722000848817.png)]

更新本地项目-方法2:选择Update Project菜单
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Jb3gyxh-1640883352454)(Git学习-千锋.assets/image-20210722000204725.png)]
更新日志
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XiYnfEeZ-1640883352454)(Git学习-千锋.assets/image-20210722001820819.png)]
9.8 冲突解决

合并分支时,如果出现冲突,则需要解决冲突。

冲突出现,弹窗中可选择如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JXpr8XNt-1640883352455)(Git学习-千锋.assets/image-20210722143126458.png)]

通过上面弹窗方式修改冲突后,通过窗口VCS>Commit弹出窗口如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JGb9QldS-1640883352455)(Git学习-千锋.assets/image-20210722143518962.png)]

【原因】

当前项目相对当前仓库来说,没有什么变化,因此会弹出该窗口

【解决方法】

通过指令方式进行提交:git commit

也可以直接修改冲突文件,然后commit即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kL8sd78U-1640883352456)(Git学习-千锋.assets/image-20210722144150382.png)]

10. 多人协同开发

多人开发协同,git操作

10.1 项目管理员(项目经理)
  1. 由管理员负责创建一个远程库,初始的库中什么也没有,为裸库。库的名称建议和项目同名
  2. 管理员会在idea中创建一个初始项目,其中包含.gitignore文件。并在项目根目录下建立本地库并建立dev分支
  3. 管理员将本地库上传到远程库
  4. 将其他开发人员拉入远程库的开发成员列表中,使得其他开发人员可以访问该远程库。
点击添加成员
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ePnSkjvQ-1640883352456)(Git学习-千锋.assets/image-20210722153014121.png)]
选择直接添加
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5G83wdCT-1640883352456)(Git学习-千锋.assets/image-20210722153305327.png)]
提交
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7G6m9cEh-1640883352457)(Git学习-千锋.assets/image-20210722153632105.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3C4m8OHw-1640883352457)(Git学习-千锋.assets/image-20210722153707411.png)]
查看已添加的开发成员
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BbuPMxas-1640883352458)(Git学习-千锋.assets/image-20210722153852734.png)]
  1. 远程仓库master分支设置为保护分支,只有管理员有权限将代码合并到其中。dev分支设置为常规分支,所有开发人员都可以在其中合并代码。
进入分支设置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sL5vbPJb-1640883352458)(Git学习-千锋.assets/image-20210722154253686.png)]
设置保护分支,让master分支不能被随便更改
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDTM60Kn-1640883352459)(Git学习-千锋.assets/image-20210722154747962.png)]
10.2 开发人员
  1. 初始化:在idea中clone远程库,获得项目。会建立本地库
  2. 后续的开发中,都要在dev分支上进行。开发完一个功能并测试通过后就commit提交到本地的dev分支中,然后上传(push)到远程dev分支中。
  3. 需要更新项目内容时,通过pull从远程仓库拉取内容。
  4. 注意:多人协同时,每次在push到远程仓库前,都先做一次pull,一来是把远程最新内容合并到本地,二来是核实本地内容是否和远程内容有冲突。

后续的开发,会接到一个个的功能任务,往复操作步骤2、3、4而已

11. 经典问题

在使用https协议做push时,如果曾经使用过码云,但密码或帐号有过改动,此时会报错

使用https协议报错
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gM5dWWLF-1640883352459)(Git学习-千锋.assets/image-20210722160622628.png)]

【解决方法】

控制面板 > 凭据管理器 删除对应凭证,再次使用时会提示重新输入密码。

删除之前的码云凭证,然后重新push即可
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lOhe0jZ2-1640883352460)(Git学习-千锋.assets/image-20210722161335099.png)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值