Git简单使用

1、初步理解

集中式版本管理:svn

在这里插入图片描述

分布式版本控制工具:git

在这里插入图片描述

git一般流程

在这里插入图片描述

2、Git安装

​ 安装 git 2.17.1.exe,一路下一步
​ 安装后如果右键出现了git bash here的选项证明安装成功
配置自己的用户信息到git
​ 在任意的位置打开git bash here

git  config  --global user.name 'silhouette1'
git config --global user.email 'lyr0511gz@163.com'

3、Gitbash(重要)

​ 管理项目的版本

1、git init : 在工作区初始化git本地仓库
​ 在项目的根目录下执行命令
[来直接上传(img-Ajoqmn4s-1631433898799)(assets/1596595977529.png)]
git目录就是git本地仓库用来管理项目的版本的目录
在项目中新创建文件

2、git status: 查看版本仓库中的文件的状态

在这里插入图片描述

3、 git add 文件名: 将修改的文件[增删改]添加到暂存区等待提交
在这里插入图片描述

4、git commit -m ‘提交备注’ : 将暂存区内的修改提交到本地仓库管理

在这里插入图片描述

5、查看提交记录

​ git log 文件名:查看详细的提交记录
git log --pretty=oneline a.txt :查看文件的简要的提交记录
​ git reflog a.txt :查看文件的提交id(以后可以根据此id进行文件还原)
在这里插入图片描述
6、比较文件

​ 如果文件提交后没有做任何修改,没有差异

​ 文件提交后又做了修改:git diff :可以查看到工作区修改过的文件和本地仓库文件的差异
在这里插入图片描述

​ 如果文件提交后做了修改提交到暂存区,然后又对工作区的文件做了修改

​ git diff :用工作区的文件和暂存区的文件进行对比
在这里插入图片描述
总是本地工作区和其他的比较

7、还原修改

​ 如果文件提交后又做了修改:
​ git checkout – 文件名
​ 放弃本次修改
在这里插入图片描述

​ 如果文件提交后做了修改提交到暂存区,然后又做了修改:
​ - 还原到暂存区:git checkout – 文件名
​ - 还原到本地仓库:git reset --hard HEAD
​ HEAD表示仓库中的最新的版本

​ 如果文件修改后已提交到本地仓库:
​ 指定版本进行还原:
​ 先查询所有的版本号(提交id): git reflog
​ 使用HEAD进行版本切换(不推荐使用):
​ 根据提交id进行版本的切换: git reset --hard commitid
在这里插入图片描述

​ 8、删除版本控制的文件:
​ 删除文件并提交本次删除操作到本地仓库
​ rm a.txt
​ git add a.txt
​ git commit -m ‘备注’
​ 所有的被版本仓库管理的文件就算删除了也能还原
在这里插入图片描述

4、tortoisegit客户端(了解)

idea和eclipse中也可以使用git的插件客户端、gitbash也是git的客户端
客户端:可以发送git命令让git服务端执行
tortoisegit需要先安装再使用:
1、如果需要创建git本次仓库,必须保证当前路径下没有.git目录
在这里插入图片描述

2、小乌龟提交删除修改文件提交到本地仓库
在这里插入图片描述

删除文件:
在这里插入图片描述

版本还原:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

提交工作空间的项目到本地仓库进行版本控制:

​ maven项目只有src和pom.xml才需要进行版本控制

​ 1、在项目的根目录下创建本地仓库

​ 2、git提交文件到仓库时可以设置忽略文件

​ git会自动忽略不用提交的文件
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可手动,也可以自己该.gitignore文件(忽略文件的语法自己了解)

​ 3、提交项目到本地仓库:
在这里插入图片描述
在这里插入图片描述

5、github+gitee简介+创建远程仓库

以后的开发都是团队开发,多个人同时开发一个项目。可以将项目放到远程的仓库中托管

github:
在这里插入图片描述

gitee:码云,是开源中国的一个远程的代码托管的服务器

在这里插入图片描述

1、新建码云的远程仓库

在这里插入图片描述

2、查看gitee的远程仓库如何使用:

​ 如何将本地仓库推送到远程仓库
在这里插入图片描述
在这里插入图片描述

6、配置gitee-ssh密钥

本地如果需要连接远端仓库,必须要验证身份[账号密码验证HTTPS、配置秘钥方式验证SSH公钥私钥]

在这里插入图片描述

1、先生成公钥私钥:

​ git中自带了生成公钥私钥的工具D:\myprogram\Git\usr\bin\ssh-keygen.exe

​ ssh-keygen -t rsa -C 邮箱地址

在这里插入图片描述

​ 查看生成的秘钥文件
在这里插入图片描述

2、将生成的公钥配置到gitee 账号中:

在这里插入图片描述

在这里插入图片描述

3、参考gitee仓库的介绍将小乌龟客户端提交的项目的本地仓库推送到gitee的远程仓库中

​ 在项目的根目录下打开git bash

​ git remote add origin git@gitee.com:xgatguigu/atcrowdfunding-main.git

​ git push -u origin master

在这里插入图片描述

​ 4、查看gitee中的远程仓库:

在这里插入图片描述

7、gitbash clone远端仓库的项目到本地

以后的工作流程:

​ 1、项目经理初始化搭建项目后在创建本地仓库

​ 将项目提交到本地仓库

​ 再推送到远端仓库中

​ 2、程序员刚进公司,根据项目经理分配的账号密码和远程仓库的地址

​ 将远程项目Clone到本地

​ 形成本地仓库,并检出仓库中的代码到本地工作区

​ 3、程序员再工作区中进行开发

​ 再将自己的更新提交到本地仓库

​ 然后再推送到远端仓库中

​ 4、如果其他的同事已经更新了远程仓库的代码

​ 我们也可以去拉取远程仓库他们提交的更新

​ 5、在项目的更新过程中或出现多用户协作冲突[多个程序员修改了相同的文件]

​ 解决协作冲突

远程仓库如果是共有的,所有人都可以clone下载查看代码,但是提交更新时需要验证权限

​ 克隆:git clone 远程仓库的地址

在这里插入图片描述

在这里插入图片描述

8、gitee多用户协作

用户clone项目以后可以修改代码并提交到本地仓库然后推送到远端

​ git add 修改后的文件 :添加修改的文件到暂存区

​ git commit -m ‘备注’ :提交暂存区内容到本地仓库

​ git push origin master :默认使用SSH方式将本地仓库的更新推送到gitee远程仓库
在这里插入图片描述

其他人获取更新:

​ git pull origin master : 拉取远程仓库最新的版本到本地

在这里插入图片描述

我们以上的操作都是基于SSH进行的身份验证。不用输入账号密码
测试不了多用户的身份:HTTPS每次都需要输入账号密码,可以模拟多用户

使用HTTPS的方式推送

在这里插入图片描述
在这里插入图片描述

使用HTTPS其他的账号推送更新:

由于win10系统有缓存,必须先删除缓存

在这里插入图片描述

如果其他的账号没有推送的权限的话,推送时会报错
在这里插入图片描述

1 gitee仓库添加合作伙伴

为了让多个人可以同时更新仓库内容

在这里插入图片描述

在这里插入图片描述

被邀请的用户需要登录自己的码云,确认接收邀请:邀请和被邀请的用户不能使用同一个浏览器

​ 接收邀请的用户和邀请的用户都可以更新同一个仓库
在这里插入图片描述

2 协作冲突解决

同一个仓库多个程序员都可以更新,如果多个程序员更新了同一个文件,就是协作冲突

A和B本地仓库的版本和远程仓库一样时,A和B同时修改了项目,任何一个程序员先推送时,会导致远程仓库的版本更新,另外一个再推送时,本地仓库的版本和远程仓库的版本不一致会导致协作冲突

在这里插入图片描述

解决三板斧:

​ 先拉取远程仓库最新的版本到本地

​ 然后将本地的更新和远程仓库的内容合并[如果本地某个文件做了修改,仓库最新的版本中该文件也被修改了,就出现文件冲突,也需要解决]
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

​ 最后再提交推送

在这里插入图片描述

3 fork

​ 如果我们希望研究其他的比较出名的开源的项目(在gitee中是公共的,任何人都可以读取下载),但是我们没有权限推送我们的更新到开源项目。

​ 我们可以先下载远端仓库中的开源项目到本地,然后在推送到自己的远端仓库中(如果开源项目版本升级,不太方便将我们自己的更新的代码和开源项目的代码新版本进行合并)

fork:

​ 可以在我们的远端仓库中去fork其他的开源项目的远端仓库,如果开源项目的远程仓库更新了,我们fork的仓库也可以拉取开源项目的仓库的最新的更新。

在这里插入图片描述

9、分支管理

用户在开发项目时,有事希望当前开发的代码不会被另外一部分开发的代码影响,可以使用多个分支进行开发

分支之间的代码互不影响

分支查询
git branch -v

分支创建

​ git branch 分支名称(dev/test/debug)
​ git branch -b 分支名称 :创建并切换到新建的分支中
在这里插入图片描述
在这里插入图片描述

分支切换

​ git checkout 分支名称

分支创建时会依赖于创建分支时的那个分支的版本来创建

每个分支都会基于自己所在的版本继续向后开发,和其他分支互不影响

分支合并
开发时分支可能开发的功能不同,功能完成后可以通过分支合并的方式将其他分支的代码合并到当前分支中
​ 只有master分支才可以合并其他分支

​ 先切换到master分支:git checkout master

​ 在合并其他的分支:git merge 分支名

​ 合并时如果两个分支修改了相同的文件会出现冲突:手动修改冲突文件并添加到暂存区提交到本地仓库:git add 文件名 git commin -m ‘xxx’
在这里插入图片描述

分支删除

删除已经使用完毕的分支: git branch -D 分支名

在这里插入图片描述

10、git-idea git客户端

先在idea中配置git

在这里插入图片描述
在这里插入图片描述

使用idea的git客户端

1、项目经理的使用步骤

​ 1 新创建项目

​ 2 初始化本地仓库

在这里插入图片描述

​ 创建忽略文件:将不必要提交的文件忽略掉

​ 安装创建忽略文件的插件:

在这里插入图片描述

​ 创建忽略文件
在这里插入图片描述
在这里插入图片描述

自己把.gitignore加进去在这里插入图片描述

​ 3 将新创建的项目提交到本地仓库
在这里插入图片描述

在这里插入图片描述

​ 在gitee中创建远程仓库:
在这里插入图片描述

​ 4 将项目推送到远端仓库

在这里插入图片描述
在这里插入图片描述

上面的推送使用的是SSH的方式推送的,由于之前的练习已经配置过SSH的公钥到gitee的账号中了,本地也存在对应的私钥,所以可以直接通过ssh地址推送到远端

idea中gitee账号密码的设置:以后通过HTTPS的方式推送时不用在输入账号密码

在idea中安装gitee插件:
在这里插入图片描述
如果在idea里面网不好,在线无法安装,则自己单独下载好插件后,进行本地安装。
选择自己的idea的版本下载对应的gitee的插件:

https://plugins.jetbrains.com/plugin/11491-gitee/versions

在这里插入图片描述

在这里插入图片描述

2、程序员的使用步骤

​ 1 克隆远程仓库到本地:
在这里插入图片描述

​ 2 将克隆到本地的项目转为对应类型的项目[Maven]

​ 项目在新的工作空间打开自动识别为Maven工程:

​ 3 修改项目并提交更新到本地仓库:

在这里插入图片描述

​ 4 推送自己的更新到远程仓库[可能会有冲突]

​ 1、先拉取远程仓库最新版本到本地

在这里插入图片描述

​ 2、在本地通过merge合并冲突

​ 3、再将合并冲突的文件提交到本地仓库,最后再次推送

2.3 版本控制[版本查看+跳转]

查看历史版本:

在这里插入图片描述

在这里插入图片描述

版本跳转:
在这里插入图片描述

分支:
创建分支:
在这里插入图片描述
分支切换:
在这里插入图片描述
分支合并:(首先要切换到master分支)
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值