Git的操作使用

Git结构:
# 工作区:当前编辑的区域
# 缓存区:add之后的区域
# 本地仓库:commit之后的区域
# 远程仓库:GitHub,gitlab,码云...
一、Git的初步认识
一、Git是什么?
git 是一种版本控制器,更直白的说,团队开发的时候,管理代码使用的软件
git官网下载:https://www.git-scm.com/download/ 二、Git的安装
windows下可以直接下一步,windows系统安装完成后,鼠标右键可以看到新增了2个git相关的属性,其中Git Bash Here
linux下安装:yum -y install git 三、Git的初步配置
# 初次提交需要设置邮箱和用户名(更具提示信息设计即可)
git config --global user.name # 设置用户
git config --global user.email # 设置邮箱 git config --global --unset user.name # 删除用户
git config --global --unset user.email # 删除邮箱
二、Git 命令使用
# "进入想要管理的文件夹之后git bash here"
git init # 初始化本地仓库(.git隐藏文件 包含了所有的操作记录)
git status # 当前管理状态(没管之前是红色,管谁谁变绿色) 被管理之后文件只要有改动就会被自动检测并显示成红色
git add 文件名/. # .表示管所有(全变绿色)
git commit -m '解释信息(越详细越好)' # 将所有变绿的文件拷贝一份放到仓库(变白色) git log # 查看提交记录
git reset --hard '序列号' # 回退到之前版本状态
git reflog # 查看所有版本(包括回退之前的新版本) git checkout filename # 回到最近的一次提交状态
git reset HEAD filename. # 将指定文件从缓存区拉取到工作区
git diff # 对比缓存区和工作区的区别
git diff --cached # 缓存区和本地仓库的区别 # "当开发某个功能到1/2时并且没有提交,如果想要回到原来的状态修复原来的代码"
git stash # 将你开发一半的代码先暂时存起来(此时会自动回到修改之前的状态 大白话就是把红色文件全部暂存)
# 修复之前的bug
# 提交修复代码(可能会出现冲突 需要手动修改冲突)
git stash pop # 再次回到开发某个功能到1/2处
# "git stash 其他命令"
git stash list # 查看暂存区所有的记录
git stash clear # 清空暂存区
git stash apply 编号 # 将指定的编号记录拿出来
git stash drop 编号 # 删除指定编号的记录 # "一般实际工作中修复bug不经常用git stash,而是使用分支结构"
git branch dev # 创建分支(会拷贝master全部代码)
git checkout dev # 切换分支(在切换到其他分支之前 一定要将当前分支的内容先提交)
# 如果master出现bug 一定不在直接在master上面修改bug因为可能还会有其他bug 应该再创建分支专门修复bug
git branch bug # 创建bug修复bug并提交
git checkout master # 切换回master分支
git merge bug # 将bug分支合并到master分支上(可能会产生冲突还是需要自己手动解决)
git branch -d bug # 删除bug分支
git branch # 查看所有的分支
# "公司出现bug不要回答的太细只需要回答:创建一个bug分支,再bug分支上进行修复,修复完成后合并到master上即可"
三、Git之远程仓库
# 远程保存代码平台>>>:github
# 公共的:GitHub,码云
# 自己搭建:gitlab
# 第一次 本地代码推送远程
cd 项目目录
git remote add origin 远程地址
git push origin master
git push origin dev # 增删代码后推送远程仓库
git add .
git commit -m '注释'
git push origin dev
# 删除
git rm 文件
git push origin dev
# 查看远程仓库
git remote
git remote -v # 删除远程仓库
命令:git remote remove <远程地址> # 添加远程仓库
git remote add <远程仓库别名> <远程仓库地址>
四、远程上传以及获取代码
git clone 远程地址
获取远程代码到本地,修改后提交:
git init
git remote add origin 远程地址
git pull origin master # 拉取master下代码 提交代码:
git add .
git commit -m "注释"
git push origin master # 提交代码到master下
五、代码合并
出现代码冲突:手动合并 # git rebase
git merge一样也是合并分支,不同之处在于会将多个版本的线路直接合并成一条(让提交记录更加的简洁),而git merge不会
# 也会产生冲突:手动修改完冲突之后再执行git rebase --skip
Git的操作使用的更多相关文章
- Git远程操作详解
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- Git远程操作
Git远程操作 // */ // ]]> Git远程操作 Table of Contents 1 Git远程命令概览 2 Git远程仓库与本地仓库的关系图 3 git clone 4 git ...
- [转]Git远程操作详解
原文:http://www.ruanyifeng.com/blog/2014/06/git_remote.html Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多 ...
- Git基础操作
配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...
- Git 远程操作详解
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- 【Git】Git远程操作详解
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...
- Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
面向对象:曾经使用过SVN的同学. (因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器. 所以连S ...
- git常见操作
本地仓库关联远程仓库 新建本地目录scala git init 这样就新建了一个本地仓库 在远端如github上新建仓库scala 关联远程仓库 git remote add origin git@g ...
- git报错:'fatal:remote origin already exists'怎么处理?附上git常用操作以及说明。
git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1.先删除 $ git remote rm origin 2.再次执行添加就可以了. ---------------------- ...
- 工作中常用Git指令操作
常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...
随机推荐
- pycharm 常见易错的PEP8规范
PEP8规范 ( Python Enhancement Proposal ) PEP 8: E231 missing whitespace after ','这个意思是逗号后面要有一个空格 PEP 8 ...
- 替代 Redis 的开源项目「GitHub 热点速览」
近日,知名开源项目 Redis 宣布修改开源协议,从原来的「BSD 3-Clause 开源协议」改成「RSALv2 和 SSPLv1 双重许可证」.新的许可证主要是限制托管 Redis 产品的云服务商 ...
- CDC实战:MySQL实时同步数据到Elasticsearch之数组集合(array)如何处理【CDC实战系列十二】
需求背景: mysql存储的一个字段,需要同步到elasticsearch,并存储为数组,以便于查询. 如下例子,就是查询预期. PUT /t_test_1/_doc/1 { "name&q ...
- vue初学核心基础
一.初识vue 1.vue的使用 导入vue之后创建vue模块,el属性表示控制区域的id名称,data表示该区域内的数据 在vue中我们都是用表中模板的标准语法来传递数据 <head> ...
- QT数据库学习笔记
简介 QT通过模块化管理,对于某种模块需要添加对应的模块实现.QT SQL也是需要增加对应的模块来实现.QT数据库的层次关系为: 驱动层:数据库到SQL语言之间的桥梁 SQL API层: SQL语句的 ...
- .NET分布式Orleans - 6 - 事件溯源
基本概念 事件溯源(Event Sourcing)是一种设计模式,它记录并存储了应用程序状态变化的所有事件. 其核心思想是将系统中的每次状态变化都视为一个事件,并将这些事件以时间顺序的方式持久化存储. ...
- Spring Cloud服务之Nacos作为注册中心与配置中心
1.创建maven父工程管理jar包版本 创建maven骨架,删除多余部分文件.只留pom文件,添加依赖 <packaging>pom</packaging> <pare ...
- Advanced .Net Debugging 6:程序集加载器
一.简介 这是我的<Advanced .Net Debugging>这个系列的第六篇文章.这篇文章的内容是原书的第二部分的[调试实战]的第四章.这章主要讲的是程序集加载器,比如:CLR 加 ...
- 19 JavaScript的hook
19 JavaScript的hook 什么叫hook? Hook技术又叫钩子函数,在系统没有调用该函数之前,钩子程序就捕获该消息,钩子函数先得到该函数的控制权,这时钩子函数既可以改变该函数的执行行为, ...
- OpenHarmony应用开发之自定义弹窗
本文转载自<OpenHarmony应用开发之自定义弹窗>,作者:zhushangyuan_ 应用场景 在应用的使用和开发中,弹窗是一个很常见的场景,自定义弹窗又因为极高的自由度得以广泛应 ...