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.在此时登录码云,创建项目.项目名称最好与文件夹名称 ...
随机推荐
- [C++STL] 队列 queue 的入门
队列结构 概念: 队列(queue):和栈相似,也是一种特殊的线性表.和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作.一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称 ...
- Property or method "xxx" is not defined on the instance but referenced during render
是xxx中的data写成date了,因此报错. 这个错误属于粗心
- vue3常见问题及解决方案(四)父组件切换行,然后子组件切换tab,子组件内的数据不刷新
问题描述 父组件切换行,然后子组件切换tab,子组件内的数据不刷新. 例如父组件为订单,子组件为订单相关商品和相关客户,商品和客户使用tab选项卡组织. 当tab显示商品页时,切换订单,商品页内容跟着 ...
- 在Winform开发中,使用Async-Awati异步任务处理代替BackgroundWorker
在Winform开发中有时候我们为了不影响主UI线程的处理,以前我们使用后台线程BackgroundWorker来处理一些任务操作,不过随着异步处理提供的便利性,我们可以使用Async-Awati异步 ...
- 隐私计算FATE-模型训练
一.说明 本文分享基于 Fate 自带的测试样例,进行 纵向逻辑回归 算法的模型训练,并且通过 FATE Board 可视化查看结果. 本文的内容为基于 <隐私计算FATE-概念与单机部署指南& ...
- npm发布包以及更新包还有需要注意的几点问题(这里以发布vue插件为例)
前言 在此之前,你需要去npm官网注册一个属于自己的账号,记住自己的账户名以及密码.邮箱,后面会用的到.第一步,安装webpack简易框架 vue init webpack-simple marque ...
- go Cobra命令行工具入门
简介 Github:https://github.com/spf13/cobra Star:26.5K Cobra是一个用Go语言实现的命令行工具.并且现在正在被很多项目使用,例如:Kuberne ...
- centos 7安装zabbix
1 升级系统组件到最新版本 yum -y update 2 关闭 SELinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" / ...
- 我看谁还说程序员不会P图?拜托~4行python代码就够~
我们平时使用一些图像处理软件时,经常会看到其对图像的亮度.对比度.色度或者锐度进行调整.你是不是觉得这种技术的底层实现很高大上? 其实最基础的实现原理,用 Python 实现只需要几行代码,学会后你也 ...
- 从零开始实现lmax-Disruptor队列(四)多线程生产者MultiProducerSequencer原理解析
MyDisruptor V4版本介绍 在v3版本的MyDisruptor实现多线程消费者后.按照计划,v4版本的MyDisruptor需要支持线程安全的多线程生产者功能. 由于该文属于系列博客的一部分 ...