ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git学习与码云实战

2022-08-10 20:03:19  阅读:175  来源: 互联网

标签:实战 Git 仓库 码云 git 本地 push 远程


Git学习与码云实战

一、Git安装

概述:

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。

下载安装:

下载地址:https://git-scm.com/

下载后傻瓜式一键安装,建议安装在英文目录下

右击桌面,能够看到如下Git选项

image-20220508215317553

  • GUI为用户界面模式
  • Bash为命令行模式

系统配置

由于git是分布式管理工具,需要输入用户名和邮箱作为标识,因此,我们按右键打开Git Bash 命令框

在命令行输入下列的命令:

git config --global user.name "你自己的名字,可以为中文"

git config --global user.email "邮箱,建议QQ邮箱,方便记忆"

生成SSH公钥,许多 Git 服务器都使用 SSH 公钥进行认证,所以我们也需要配置该公钥

# 输入如下命令,三次回车即可生成 ssh key
ssh-keygen -t rsa -C "email@example.com,邮箱"

常用命令

命令 备注
git status 查看仓库的改变情况,会有相关的提示操作出现
git add 直接添加所有改动的文件
git commit -m "note" 确定生成本地的版本,note是版本特点说明
git push 将改动上传到github,若没有指定分支,则需要使用git push origin master
git log 查看版本更新情况
git reset --hard x 回退到某个本地版本,x为git log 中出现的hash值的前七位
git clean --xf 清除所有未提交文件
git init 在目录中创建新的Git仓库

Git区域介绍

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配置仓库

为什么要这么做?

若需要将本地仓库的代码同步更新到远程托管服务器,则需要与远程服务器建立通信授权连接,最常见的就是利用上述所生成的sshkey进行配置。

常见的托管平台有GitHub,GitLab(开源),码云,企业中也用该产品搭建企业的代码管理平台。

2、前置条件

  • 本地git已安装并配置了Git用户参数,本地已生成了SSHKey
  • 注册码云平台账号,建议采用QQ邮箱进行注册,方便记忆和密码找回

3、秘钥配置

  • 注册好码云后,进入设置中心,再点击SSH公钥

image-20220810164130350

image-20220810164247552

  • 在本机磁盘目录中,找到当前用户下的.ssh目录,并编辑其中的.pub结尾的文件,以记事本打开(或者你用其他的编辑器打开都可以),复制里面的内容

    image-20220810164740653

  • 将内容拷贝至码云中,拷贝后,标题能够自动识别,也可以自行修改

  • image-20220810165000278

  • 打开Git Bash终端输入如下命令进行连接测试

    $ ssh -T git@gitee.com
    

image-20220810165209785

  • 使用命令同步代码

    代码同步有3个步骤:add、commit、push

    1. 在本地磁盘中找一个目录,用于初始化本地仓库存放项目代码

      student是我放入的工程文件,不能为空文件夹

      image-20220810165702542

    2. 使用git init 命令创建一个本地仓库.git(隐藏文件夹),右键打开Git bash命令窗口

      image-20220810171123300

    3. 使用git add 文件目录 命令将项目文件添加到git暂存区中,可以使用git status命令可以查看当前暂存区的文件

      image-20220810190611675

    4. 使用git commit -m "注释" 命令将暂存区的文件上传到本地仓库

      image-20220810190759979

    5. 在码云上创建一个仓库,用来存放待上传的项目

      image-20220810190952706

image-20220810191053236

image-20220810191153344

6.将本地库与远程库关联

关联命令:git remote add origin +复制的ssh地址

image-20220810191857439

7.远程仓库与本地仓库合并

这时候不着急推,先将远程仓库的文件同步一次到本地,否则直接推会报错

表示从远程master分支拉取代码与本地仓库进行合并,此时一定要保证本地的文件是绿色的
git pull --rebase origin master

image-20220810191527556

此时你会发现本地代码多了几个文件

image-20220810191547402

8.将本地代码推送到远程分支

命令 git push -u origin master

image-20220810191830753

9.刷新码云的远程仓库,能够看到如下结构

image-20220810191737228

10.后续代码改动

依次执行以下命令(远程仓库没有发生改动的情况),如果远程分支的代码已经被别人修改,需要先拉取代码,再提交,这个过程稍微复杂一点,若存在冲突则涉及到同一行代码的合并

执行add

# 将已改动的文件添加到暂存区
git add student/

执行commit

# 将暂存区的代码提交到本地仓库
git commit -m "第二次提交"

执行push

# 将本地仓库的所有更改推送到远程服务器的master分支
git push origin master(完整写法,远程分支若不存在则会被创建)
或者
git push origin(远程仓库与本地仓库存在分支最终关系的写法)
或者
git push(远程仓库只有一个分支,最简单的写法)

IDEA+Git

  1. 在IDEA中设置Git,在File-->Setting-->Version Control-->Git-->Path to Git executable选择你的git安装后的git.exe文件,然后点击Test,测试是否设置成功

    image-20220810192118971

  2. 配置码云(gitee)

    插件安装

由于IDEA没有直接码云,所以需要选择安装Gitee插件,找到Plugins,搜索Gitee,安装后重启

image-20220509003334763

登录信息配置,输入邮箱和密码

image-20220509003544035

image-20220810192341844

直接将本项目同步至码云(新建仓库)

image-20220509011115568

image-20220509011156121

image-20220810193137109

image-20220509011321236

image-20220509011342315

代码提交或更新

在项目根目录上右击,选择Git->Commit Directory进行提交

image-20220810193324701

image-20220810193521451

现在push到远程仓库

image-20220810193651433

image-20220810193746471

Git到此结束,至于可视化工具GUI,装好了但是不熟,以后有机会再补。

标签:实战,Git,仓库,码云,git,本地,push,远程
来源: https://www.cnblogs.com/bfy0221/p/16573695.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有