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的操作使用的更多相关文章

  1. Git远程操作详解

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  2. Git远程操作

    Git远程操作 // */ // ]]>   Git远程操作 Table of Contents 1 Git远程命令概览 2 Git远程仓库与本地仓库的关系图 3 git clone 4 git ...

  3. [转]Git远程操作详解

    原文:http://www.ruanyifeng.com/blog/2014/06/git_remote.html Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多 ...

  4. Git基础操作

    配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...

  5. Git 远程操作详解

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  6. 【Git】Git远程操作详解

    Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Gi ...

  7. Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"

    面向对象:曾经使用过SVN的同学. (因为Git 它 可以说是双重的SVN (本地一个服务器,远程一个服务器)),提交代码要有两次步骤,先提交到本地服务器,再把本地服务器在提交到远程服务器. 所以连S ...

  8. git常见操作

    本地仓库关联远程仓库 新建本地目录scala git init 这样就新建了一个本地仓库 在远端如github上新建仓库scala 关联远程仓库 git remote add origin git@g ...

  9. git报错:'fatal:remote origin already exists'怎么处理?附上git常用操作以及说明。

    git添加远程库的时候有可能出现如下的错误, 怎么解决? 只要两步: 1.先删除 $ git remote rm origin 2.再次执行添加就可以了. ---------------------- ...

  10. 工作中常用Git指令操作

    常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...

随机推荐

  1. kali 2018.2镜像安装

    本文链接来源 Kali Linux 前身是著名渗透测试系统BackTrack ,是一个基于 Debian 的 Linux 发行版,包含很多安全和取证方面的相关工具.此次通过VMware虚拟机安装201 ...

  2. Swift Structured Concurrency

    异步函数 异步函数概念 异步和并发是两个不同的概念,并发(Concurrency)是指多个任务同时执行,这里的同时不是严格意义上的同一时刻,而是在稍大时间粒度上,多个任务可以同时推进,并发的实现可以是 ...

  3. DynamicHead:基于像素级路由机制的动态FPN | NIPS 2020

    论文提出了细粒度动态detection head,能够基于路由机制动态地融合不同FPN层的像素级局部特征进行更好的特征表达.从设计的路由空间来看是一个十分耗时的操作,但是作者设计的高效路由器实际计算十 ...

  4. KingbaseES V8R6集群运维案例之---sys_hba.conf限制客户端访问数据库

    KingbaseES V8R6集群运维案例之---sys_hba.conf限制客户端访问数据库 案例说明: 客户端认证是由一个配置文件(通常名为sys_hba.conf并被存放在数据库集簇目录中)控制 ...

  5. Python 基于 xlsxwriter 实现百万数据导出 excel

    追加导出 + 自动切换 sheet ️ excel 中的每个 sheet 最多只能保存 1048576 行数据 # 获取项目的根路径 rootPath curPath = os.path.abspat ...

  6. archlinux xfce禁用Alt+F打开终端文件菜单

    参照:https://superuser.com/questions/456024/how-to-disable-alt-f-shortcut-binding-from-file-menu-acces ...

  7. Minlexes题解

    \(\texttt{Problem Link}\) 简要题意 在一个字符串 \(s\) 中,对于每个后缀,任意删掉一些相邻的相同的字符,使得字符串字典序最小. 注意:删掉之后拼起来再出现的相邻相同字符 ...

  8. SQL 递归核心思想(递归思维)

    目前很缺递归思维,主要是算法代码写得少,本篇记录下以 PostgreSQL 代码举例(主要是非常喜欢这款性能小钢炮数据库). 树状查询不多说,很简单大家基本都会,主要讲 cte 代码递归实现不同需求. ...

  9. OpenHarmony技术日探讨教育发展,聚焦开源人才培养

    4 月 25 日,OpenAtom OpenHarmony (以下简称"OpenHarmony")技术日在深圳成功举办.作为 OpenHarmony 开源项目的年度盛会,大会以&q ...

  10. win10系统,软件不可用,无法调用摄像头

    现象描述: 客户电脑是win10,定制带版权的电脑,安装的有卡巴斯基安全软件(最开始并不知道有这么个玩意),使用客户端软件,软件可以正常打开,但是软件无法打开摄像头画面(*:软件在其他电脑都是正常使用 ...