Git学习与码云实战
Git学习与码云实战
一、Git安装
概述:
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。
下载安装:
下载地址:https://git-scm.com/
下载后傻瓜式一键安装,建议安装在英文目录下
右击桌面,能够看到如下Git选项

- 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公钥


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

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

打开Git Bash终端输入如下命令进行连接测试
$ ssh -T git@gitee.com

使用命令同步代码
代码同步有3个步骤:add、commit、push
在本地磁盘中找一个目录,用于初始化本地仓库存放项目代码
student是我放入的工程文件,不能为空文件夹

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

使用git add 文件目录 命令将项目文件添加到git暂存区中,可以使用
git status命令可以查看当前暂存区的文件
使用git commit -m "注释" 命令将暂存区的文件上传到本地仓库

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



6.将本地库与远程库关联
关联命令:git remote add origin +复制的ssh地址

7.远程仓库与本地仓库合并
这时候不着急推,先将远程仓库的文件同步一次到本地,否则直接推会报错
表示从远程master分支拉取代码与本地仓库进行合并,此时一定要保证本地的文件是绿色的
git pull --rebase origin master

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

8.将本地代码推送到远程分支
命令 git push -u origin master

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

10.后续代码改动
依次执行以下命令(远程仓库没有发生改动的情况),如果远程分支的代码已经被别人修改,需要先拉取代码,再提交,这个过程稍微复杂一点,若存在冲突则涉及到同一行代码的合并
执行add
# 将已改动的文件添加到暂存区
git add student/
执行commit
# 将暂存区的代码提交到本地仓库
git commit -m "第二次提交"
执行push
# 将本地仓库的所有更改推送到远程服务器的master分支
git push origin master(完整写法,远程分支若不存在则会被创建)
或者
git push origin(远程仓库与本地仓库存在分支最终关系的写法)
或者
git push(远程仓库只有一个分支,最简单的写法)
IDEA+Git
在IDEA中设置Git,在
File-->Setting-->Version Control-->Git-->Path to Git executable选择你的git安装后的git.exe文件,然后点击Test,测试是否设置成功
配置码云(gitee)
插件安装
由于IDEA没有直接码云,所以需要选择安装Gitee插件,找到Plugins,搜索Gitee,安装后重启

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


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





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


现在push到远程仓库


Git到此结束,至于可视化工具GUI,装好了但是不熟,以后有机会再补。
Git学习与码云实战的更多相关文章
- 使用Git Bash在码云上上传和下载代码
前提是在码云上已经新建一个空的项目 1.新建一个目录,存放下载下来的项目,我在D盘新建了一个"gitspace"文件夹,用来存放下载下来的项目 2.进入刚刚新建的文件夹,即进入&q ...
- Git的使用--码云
Git的使用--码云 进入码云官网:https://gitee.com/ 注册or登录账号进入gitee页面(页面结构大同小异). 点击右上角加号--新建仓库,用于存放项目代码 创建项目需要注意的选项 ...
- 学习将码云账号和git连接,并且创建一个项目
一顿操作猛如虎,哈哈 参考网址:https://git-scm.com/book/zh/v1/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7 ...
- idea和Webstorm上使用git和github,码云
由于之前一直使用svn,现在项目使用git,顾根据网上找的学习资料,自己梳理了下,收获蛮多,这里做个记录,如果能帮助到您那是最好不过的. 1.大致步骤 使用工具:idea,github,码云 webs ...
- GIT 版本管理-github&码云
GIT 是什么 git是一个用于帮助用户实现版本控制的软件. 把本地代码push到远程服务器 git add.git commitpush code to remove machine.git pus ...
- vdscode连接git服务器(以码云为例)
准备工作:先下载并安装git客户端 1.在码云或者github上新建项目,获得新建项目的地址,得到一个类似:https://gitee.com/zhangshitongsky/vueTest.git ...
- 把git仓库从码云迁到github,及git常用命令
前言 刚开始建仓库的时候,因为网络的原因选择了国内的码云.后来又想换成github,毕竟平时github使用率比较高. 替换远程仓库地址方式如下: git remote set-url origin ...
- 第一次Git使用以及码云(Gitee)
下载安装Git,官网下载地址https://git-scm.com/downloads,我用的是Win10版,下载好后一路默认安装,安装时会给你自动添加环境变量,完成后打开cmd,输入git --ve ...
- git版本控制入门--码云
1.下载git:https://git-scm.com/download 2.安装过程一直点下一步即可. 3.进入刚创建的文件夹 4.在此时登录码云,创建项目.项目名称最好与文件夹名称 ...
随机推荐
- 浅析kubernetes中client-go Informer
之前了解了client-go中的架构设计,也就是 tools/cache 下面的一些概念,那么下面将对informer进行分析 Controller 在client-go informer架构中存在一 ...
- Java到底是解释型还是编译型语言
Java到底是解释型还是编译型语言? 定义 回答这个问题,我们首先来看下概念: 开发人员编写代码,语言是人类可理解的方式,是具有语义的,然而计算机无法理解和执行,因此需要做一层转换. 解释型语言: 运 ...
- ACW:831. KMP字符串
感觉这道题非常有意思,学的过程中觉得及难,学完之后觉得及简单,看y总的视频没有看懂...,因此自己找了一篇博文理解并完成题目. import java.io.*; /** * @author admi ...
- spring boot 在控制台打印banner
转自 SpringBoot系列--花里胡哨的banner.txt - huanzi-qch - 博客园 (cnblogs.com) <div id="cnblogs_post_body ...
- Java开发学习(三)----Bean基础配置及其作用范围
一.bean基础配置 对于bean的基础配置如下 <bean id="" class=""/> 其中,bean标签的功能.使用方式以及id和clas ...
- 全新升级的AOP框架Dora.Interception[1]: 编程体验
多年之前利用IL Emit写了一个名为Dora.Interception(github地址,觉得不错不妨给一颗星)的AOP框架.前几天利用Roslyn的Source Generator对自己为公司写的 ...
- 实测:云RDS MySQL性能是自建的1.6倍
1. 摘要 基于之前写的「云厂商 RDS MySQL 怎么选」的文章,为了进一步了解各云厂商在RDS MySQL数据库性能上的差异,本文将对自建MySQL.阿里云.腾讯云.华为云和AWS 的 RDS ...
- sql-删除重复数据-oracle
删除重复数据 准备重复数据 create table mystudent ( stuno number , stuname varchar2(20), stuage number ); insert ...
- sql-DCL用户及权限管理及其他常用命令-mysql
查看系统信息 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 SELECT now(), user(), version(); -- ...
- linux配置svn
1.安装 yum install subversion 2.测试安装是否成功: svnserve --version 3.创建目录并配置 建立版本库目录 mkdir -pv /data/svn/svn ...