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的的 ...
随机推荐
- 工具推荐-personal kanban
工具推荐 -- personal kanban 看板工具 在项目中接触到项目管理工具pingcode中含有看板工具 但是实际使用时一般一周才看一下项目进度 这个看板的参与度实际上很低 为了将日常的工作 ...
- 感悟:FPGA的串行及并行设计思路
前言 FPGA设计过程中, 会遇到大量的串行转并行或者并行转串行的问题; 这些问题主要体现在FPGA对于速度和面积的均衡上; 一般而言, FPGA使用并行的设计可以提高处理的速度, 消耗更多的资源; ...
- KingbaseES 用户密码认证及加密算法
kingbaseES用户的口令被存储在sys_authid系统表中. 口令可以用SQL命令create user 和alter user 管理,例如 :create/alter user u1 wit ...
- #并查集#JZOJ 4223 旅游
题目 多次询问有多少个无序点对\((x,y)\), 满足至少有一条最大边权\(\leq d\)的路径 分析 离线询问,用并查集加边,每次产生的贡献为\(2*siz[x]*siz[y]\) 代码 #in ...
- spring复习(一)框架概述和spring中基于xml的IOC配置
1.spring框架概述和spring中基于xml的IOC配置 简介 Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Contr ...
- 使用 K8S 部署 RSS 全套自托管解决方案- RssHub + Tiny Tiny Rss
前言 什么是 RSS? RSS 是一种描述和同步网站内容的格式,是使用最广泛的 XML 应用.RSS 搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者.发布一个 RSS 文件后,这个 ...
- @EnableDiscoveryClient 注解如何实现服务注册与发现
@EnableDiscoveryClient 是如何实现服务注册的?我们首先需要了解 Spring-Cloud-Commons 这个模块,Spring-Cloud-Commons 是 Spring-C ...
- vuex合作怎么用仓库
- 力扣657(java & python)-机器人能否返回原点(简单)
题目: 在二维平面上,有一个机器人从原点 (0, 0) 开始.给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束. 移动顺序由字符串 moves 表示.字符 move[i] 表示 ...
- CF1857G Counting Graphs 题解
题目描述 给定一棵最小生成树,求有多少张图的最小生成树是给定的树,并且这张图的所有边边权不超过 \(S\). 思路 考虑在最小生成树中加边. 我们回顾一下 Kruskal 的过程: 找到没被用过的,最 ...