Git学习与码云实战
Git安装
概述:
Git 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。
下载安装:
下载地址:https://git-scm.com/
下载后傻瓜式一键安装,建议安装在英文目录下
安装完成后在开始菜单中能够找到如下程序
或者右击桌面,能够看到如下Git选项
- GUI为用户界面模式
- Bash为命令行模式
系统配置:
由于git是分布式管理工具,需要输入用户名和邮箱以作为标识,因此,我们按右键打开
Git Bash
命令框
在命令行输入下列的命令:
git config --global user.name "Your Name" git config --global user.email "email@example.com"
name可以为中文,邮箱建议使用qq邮箱,方便记忆
生成SSH公钥,许多 Git 服务器都使用 SSH 公钥进行认证,所以我们也需要配置该公钥,百度搜索git ssh密钥生成 ,建议使用我给的命令
# 输入如下命令,三次回车即可生成 ssh key ssh-keygen -t rsa -C "email@example.com"
常用命令
命令 备注 git status 查看仓库的改变情况,会有相关的提示操作出现 git add 直接添加所有改动的文件 git commit -m “note” 确认生成本地的版本,note是 版本特点说明 git push 将改动上传到远程仓库,若没有指定分支,则需要使用git push origin master git log 查看版本更新情况 git reset --hard x 回退到某个本地版本,x为git log中出现的hash值的前七位 git clean --xf 清除所有的未提交文件
Git基本操作:
1、创建一个目录
$ mkdir firstgit
2、进入该目录
$ cd firstgit/
3、查看当前所在磁盘的位置
$ pwd /f/work/firstgit
4、初始化仓库
$ git init Initialized empty Git repository in F:/work/firstgit/.git/
GIT区域介绍
创建文件夹 git init
1、git有3个区域
- 工作区(
working directory
):项目的根目录,不包括.git在内的其他文件- 暂存区(
stage area
):是一个看不见的区域,git add
命令就是将文件添加到该区域,git add .表示添加所有,git status
命令可以查看当前暂存区的文件,文件标识改了,(没有加号重启一下)- 本地仓库(
repository
):指在工作目录下创建的一个.git目录,这是一个隐藏目录。git commit -m "日志"
名可以将暂存区的代码提交到本地仓库。git push -u origin master
就是将本地仓库的代码推送到远程仓库、2、git文件的3种状态(尝试查看文件图标变化)
- 已修改(modified),存在于工作区,文件修改后的状态
- 已暂存(staged),存在于暂存区,采用
git add
命令后的状态- 已提交(committed),存在于本地仓库,采用
git commit
命令后的状态
码云+Git配置仓库
1、为什么要这么做?
若需要将本地仓库的代码同步更新到远程托管服务器,则需要与远程服务器建立通信授权连接,最常见的就是利用上述所生成的sshkey进行配置。
常见的托管平台有GitHub,GitLab(开源),码云,企业中也用该产品搭建企业的代码管理平台。
2、前置条件
- 本地git已安装并配置了Git用户参数,本地已生成了SSHKey
- 注册码云平台账号,建议采用QQ邮箱进行注册,方便记忆和密码找回
3、秘钥配置
- 注册好码云后,进入设置中心,再点击SSH公钥
- 在本机磁盘目录中,找到当前用户下的.ssh目录,并编辑其中的.pub结尾的文件,以记事本打开(或者你用其他的编辑器打开都可以)
- 将内容拷贝至码云中,拷贝后,标题能够自动识别,也可以自行修改
- 打开Git Bash终端输入如下命令进行连接测试
xiaohu@DESKTOP-16MTP3U MINGW64 /e/shujia/testjava/testgit (master) $ ssh -T git@gitee.com The authenticity of host 'gitee.com (180.97.125.228)' can't be established. ED25519 key fingerprint is SHA256:+ULzij2u99B9eWYFTw1Q4ErYG/aepHLbu96PAUCoV88. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'gitee.com' (ED25519) to the list of known hosts. Hi 小虎! You've successfully authenticated, but GITEE.COM does not provide shell access.
使用命令同步代码
代码同步有3个步骤:add、commit、push
a. 在本地磁盘中找一个目录,用于初始化本地仓库存放项目代码
b. 将项目拷贝到该目录下,与.git同级(项目不能为空文件夹)
c. 使用名,将hospital-parent添加到本地仓库中,使用
git add 目录
命令
d. 将项目提交至本地仓库,使用
git commit -m 备注
命令
e. 在码云上创建一个仓库壳子,用来存放待上传的项目
注意:上述所复制的链接就是项目所在的仓库地址(我们使用SSH命令进行交互操作)
4、 将本地库与远程库关联
关联命令:
git remote add origin git@gitee.com/xxxxxxx.git
5、远程仓库与本地仓库合并
这时候不着急推,先将远程仓库的文件同步一次到本地,否则直接推会报错
# 表示从远程master分支拉取代码与本地仓库进行合并,此时一定要保证本地的文件是绿色的 git pull --rebase origin master
此时你会发现本地代码多了几个文件
6、将本地代码推送到远程分支
命令
# push表示推送到远程分支 git push -u origin master
效果实例
刷新码云的远程仓库,能够看到如下结构
7、后续代码改动
依次执行以下命令(远程仓库没有发生改动的情况),如果远程分支的代码已经被别人修改,需要先拉取代码,再提交,这个过程稍微复杂一点,若存在冲突则涉及到同一行代码的合并
执行add
# 将已改动的文件添加到暂存区 git add bigdata17/
执行commit
# 将暂存区的代码提交到本地仓库 git commit -m "第二次提交"
执行push
# 将本地仓库的所有更改推送到远程服务器的master分支 git push origin master(完整写法,远程分支若不存在则会被创建) 或者 git push origin(远程仓库与本地仓库存在分支最终关系的写法) 或者 git push(远程仓库只有一个分支,最简单的写法)
8、使用工具同步代码
如果修改代码后直接提交可以采用
Git Commit -> "master"
,该操作中可以直接push如果需要拉取远程分支上的代码,则可以点击
TortoiseGit -> Pull
如果仅仅是推送代码到远程分支,则可以点击
TortoiseGit -> Push
IDEA+Git(idea上传项目到gitee(码云)超详细_java写好的小游戏可以发布到gitee吗-CSDN博客)
1、在IDEA中设置Git,在
File
–>Setting
–>Version Control
–>Git
–>Path to Git executable
选择你的git安装后的git.exe文件,然后点击Test,测试是否设置成功
2、配置码云(gitee)
插件安装
由于IDEA没有直接码云,所以需要选择安装Gitee插件,找到Plugins,搜索Gitee,安装后重启
登录信息配置
直接将本项目同步至码云(新建仓库)
代码提交或更新
如果文件发生改动,我们可以采用3种方式进行同步更新
a. Git Bash命令
b. 小乌龟客户端工具
c. IDEA直接同步
这里我直接说IDEA的操作,下面中的蓝色文件已经被修改了,颜色不太一样,红色文件表示是没有版本控制的,绿色是我新建的
在项目根目录上右击,选择
Git->Commit Directory
进行提交
提交操作界面,需要你勾选文件,填写日志,并提示了差异对比
提交后颜色发生变化
现在push到远程仓库
查看信息后选择push
码云发生变化
总结
IDEA操作码云和使用工具或命令的原理差不多,均需要add,commit,push等操作,更新则采用pull,如果涉及到多人协同开发时,还会遇到更加复杂的操作,当工具内部无法处理这些功能的时候,我们可以借助系统中的小乌龟来完成
企业团队协作
我们知道git除了我们个人记录代码外,更多的是在工作中使用。在前面2节课掌握最基础的操作后,接下来我们进入协作实战部分,每个公司都有自己的git协作流程,不同开发工具也有不同的git使用方式。由于Git提供的操作指令集非常庞大,但团队常规能使用到的可能也就30%左右,接下来的内容也就围绕这30%展开。
-
企业使用的Git服务:自建
Gitlab、Codeup、Gitee
-
个人使用的Git服务:
Gitee、GitHub
-
Git区域回顾
Git按照大的分类分为3个区域,分别为:工作区、暂存区、Git仓库
按照细分为5个区域,分别为:工作区、缓存区、贮存区、本地仓库、远程仓库
这些功能的时候,我们可以借助系统中的小乌龟来完成
企业团队协作
我们知道git除了我们个人记录代码外,更多的是在工作中使用。在前面2节课掌握最基础的操作后,接下来我们进入协作实战部分,每个公司都有自己的git协作流程,不同开发工具也有不同的git使用方式。由于Git提供的操作指令集非常庞大,但团队常规能使用到的可能也就30%左右,接下来的内容也就围绕这30%展开。
-
企业使用的Git服务:自建
Gitlab、Codeup、Gitee
-
个人使用的Git服务:
Gitee、GitHub
-
Git区域回顾
Git按照大的分类分为3个区域,分别为:工作区、暂存区、Git仓库
按照细分为5个区域,分别为:工作区、缓存区、贮存区、本地仓库、远程仓库