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的的 ...
随机推荐
- WPF 组件间通信 MVVM 进行解耦
假设有这样一个需求,有这样一个聊天界面,主界面是选项卡,其一选项卡内部是真正的聊天列表和聊天界面,我们需要实时的在主界面显示未读消息的数量 假设我们已经有方法可以拿到未读消息的数量,那么如何在主界面的 ...
- Oracle 隐式数据类型转换
Oracle类型转换规则: 对于insert和update操作,oracle将值转换为受影响的的列的类型. 对于select操作,oracle会将列的值的类型转换为目标变量的类型. 看如下实验: 1. ...
- Java事件侦听器学习记录
前言 我们监听事件之前要有事件源source,创建事件源(Event),发布事件(publishEvent),然后才能到监听事件. 事件驱动机制是观察者模式(称发布订阅)具体实现,事件对象(Event ...
- AXI自定义IP之UART调试
AXI自定义IP之UART调试 1.实验原理 前面的自定义IP中已经将AXI总线的大部分接口设置都一一验证了.基本掌握了关键接受寄存器slv_reg和发送寄存器data_reg_out,可以基本实现简 ...
- Makefile 简单学习
一.Makefile 简介 Makefile 是一种常用于编译的脚本语言.它可以更好更方便的管理你的项目的代码编译,节约编译时间(没改动的文件不编译).注意 Makefile 文件命令必须是 Make ...
- 电影数据集【可供机器学习附爬虫源码】(豆瓣、爱奇艺、IMDB、腾讯视频等)
电影数据集(豆瓣.爱奇艺.IMDB.腾讯视频.搜狐.1905) 爬虫爬取豆瓣.爱奇艺.IMDB.腾讯视频.搜狐.1905网,电影数据. 获取方式:微信搜索关注[靠谱杨阅读人生]回复[电影]. 整理不易 ...
- 从优秀到卓越:成为DevOps专家的7项软技能
在我的职业生涯中,遇见过许多专业人士,他们在技术上非常健全,对自己的领域和技术有很好的掌握和专业知识,但是由于缺乏软技能,他们错过了晋升.现场机会.高级技术面试以及职业生涯中的机会.很震惊吧,技术好却 ...
- #线性基#CF1100F Ivan and Burgers
题目传送门 分析 线段树上直接维护线性基是三个log的.(一定要合并) 考虑一种分治做法,在 \([l,mid]\) 和 \((mid,r]\) 的询问分治处理, 跨过 \([mid,mid+1]\) ...
- 赋能千行百业数字化转型,OpenHarmony生态新成果即将亮相HDC2022
第四届华为开发者大会 2022(Together)将于11月4日-6日在东莞召开,OpenAtom OpenHarmony(以下简称"OpenHarmony")将携生态新成果亮相 ...
- JS实现文件转base64
核心: function file2base64(){ fileAddress = document.getElementById("fileImage").files[0]; f ...