自我总结的git的使用
git是什么
git是一个分布式版本控制工具,github是代码托管平台。
git有什么用
保存文件的所有修改记录
使用版本号进行区分
随时可浏览历史版本记录
可还原到历史指定版本
对比不同版本的文件差异
为什么要用git?
多人协作开发一个大型项目
每个人都在代码库下载代码,然后进行修改,把大家不同版本的代码合并上传到平台
公司都会有自己的代码托管平台,github是开源的,免费学习,参与知名项目
为协作开发而生的,公司都在使用,不得不学
要学什么?怎么用
基本概念
仓库
仓库分为远端仓库和本地仓库
远端仓库
- git init --bare
本地仓库
- git clone ...
协议
http
ssh
使用ssh公钥登录GIT服务器
生成公钥和私钥(ssh-keygen -t rsa
)
安装openssh server(可省略)
复制公钥内容到远端服务器 .ssh/authorize_keys
git clone
- git
设置用户名和密码
局部
使用git config user.name mark
设置用户名
设置邮箱使用 git config user.email mark@qq.com
git config --local -l
全局
使用 git config --global user.name mark
设置用户名
使用git config --global user.email goddragon@qq.com
设置邮箱
git config -l
本地工作区
就是我们使用git init或 git clone 所在的路径
暂存区
使用 git add <源码文件>
添加到暂存区
本地仓库
使用git commit .
添加到本地仓库
远程仓库
使用git push orgin master
推送到远端服务器
版本号
通过 git log
查看我们的提交记录·里面有我们的版本号
head
当前检出记录的符号引用
基本操作
暂存(git add)
提交(git commit)
推送(git push)
拉取(git fetch)
拉取合并(git pull)
git fetch
git merge
查看状态(git status)
查看历史(git log)
git reflog
逆向操作
index -> workspace git (git restore -S 源码文件)
本地仓库 -> index (git reset --soft)
本地仓库 -> workspace(git reset --mixed)
本地仓库 ->null(git reset --hard)
workspace ->null(git checout、git checkout --file、git checkout -f)
本地仓库整理操作
整理上一次提交(git commit --amend)
整理多次提交(git rebase -i h1 h2、左开右闭)
没有人基于你的分支开发(从变基那个节点开始往后的所有节点的commit id都会变化、会引起其他人冲突)
分支操作
- 查看分支(git branch)
- 创建分支(git branch develop 创建、git chect out -b develop 创建并切换)
- 合并分支(git rebase(不建议使用))
- 从两个分支的共同祖先开始提取当前分支上的修改
- 提取的提交应用到目标分支的最新提交的后面
- 将当前分支只想目标分支的最新提交
- 可能引发其他人基底发生改变
- 删除分支
- git branch -d develop
- 删除远端 git push origin -d develop
*分支作用:独立变化互不依赖
解决冲突
- 冲突产生原因 不同分支修改了同一文件
- 解决原则
- 不要影响其他人提交的功能
- 协商解决
- 解决
- git merge
- git add .
- git commit . -i -m ".."
- git rebase
- git add . 标记解决
- git rebase --continue
- git merge
- 建议
提交前先pull代码
推荐一个零声学院免费教程,个人觉得老师讲得不错,
分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习:
服务器
音视频
dpdk
Linux内核
自我总结的git的使用的更多相关文章
- Git的使用和部署
Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一). 什么是版本控制系统? 没有版本控制系统 有了版本控制系统 版本 文件名 用户 说明 日期 1 service.doc 张三 ...
- 使用Alipay代码源,构建自己的Docker镜像
1. alipay 镜像仓库 地址 (自行换成自己的阿里镜像云DockerHub地址) https://cr.console.aliyun.com/repository/ 2.alipay 代码云 地 ...
- 浅谈自我对git的初步认识
本学期我们新增了一门课程,那就是软件工程,不知道为什么,感觉有种莫名的高大上.哈哈!难道是这个名称太抽象了吗?这个问题我感觉到后来肯定就明白了. 第一次博客,感觉好紧张哦,嘿嘿!老师让我们谈谈对git ...
- 安装并学习git的基本使用;注册Github账号,并创建仓库,编辑自我介绍,并提交commit
安装.学习.注册Git成功,也创建了仓库和自我介绍. 但Git clone没有做,再打开Git网页一直出现错误,不理解.
- Git使用的自我总结
一.Git安装后打开Git bash,第一次使用 1.Git账号信息配置 2.用命令git clone从远程库克隆 会在克隆的项目下有一个隐藏的.git目录,这个目录是Git来跟踪管理版本库的,没事千 ...
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...
- GIT 配置管理
git版本控制开发流程小结笔记(一) 收藏 何良瑞Nyanko君 ...
- 学习Git的总结与体会
学习Git的总结 blog 第一次学习Git是完全按照廖雪峰老师的教程学习的,学的过程中基本上没有遇到什么问题,但是自己实际操作就问题不断了. 首先,还是按照惯例,来膜拜一下廖雪峰老师精简的教程知识吧 ...
- [git]用pelican搞一个自己的blog(已完成)
pelican Pelican Static Site Generator, Powered by Python:Pelican是python语言写的静态网站生成器.因为我一直打算用github pa ...
- Git.Framework 框架随手记-- 分享一个"比较垃圾"的项目
本文主要分享一个Git.Framework 开发的一个项目的部分源码,此项目代码"比较垃圾",所以请各位码农,码畜,码神,码圣勿喷!发此文只为记录工作问题以及分享问题! 一. 项目 ...
随机推荐
- 使用symbolicatecrash工具符号化Crash日志
对于打包上线的APP,或者打包测试的APP,出现了崩溃并不能方便的把手机链接到电脑使用XCode自动符号化,此时手动符号化就是重要的选项. 1.查找符号化工具symbolicatecrash find ...
- DELPHI IDE 代码智能提示
- Kubernetes 漫游:Controller Manager
Controller Manager Controller Manager 是控制平面的一个重要组件,负责维护 Kubernetes 集群的整体状态. 流程: 在集群中 Controller Mana ...
- JS Leetcode 154. 寻找旋转排序数组中的最小值 II 题解分析
壹 ❀ 引 早在10个月前,也就是去年,我记录了JS leetcode 寻找旋转排序数组中的最小值 题解分析,你不得不了解的二分法一题,那么这篇文章记录它的升级版,来自LeetCode154. 寻找旋 ...
- NC20313 [SDOI2008]仪仗队
题目链接 题目 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练. 仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队 ...
- STM32F407VET6 / BLACK_F407VE开发板间隔0.5秒不断重启
有一块 STM32F407VET6 的故障开发板, 之前的问题是经常无法烧录, 必须reset之后才能连接, 具体查看这篇 STM32F407VET6烧录出现flash download failed ...
- Wireguard笔记(一) 节点安装配置和参数说明
目录 Wireguard笔记(一) 节点安装配置和参数说明 Wireguard笔记(二) 命令行操作 Wireguard笔记(三) lan-to-lan子网穿透和多网段并存 简介 虚拟子网软件,类似于 ...
- 【Unity3D】绘制物体表面三角形网格
1 仅绘制三角形网格 1)创建游戏对象 创建一个空对象,重命名为 Grid,并在其下添加需要绘制网格的对象,如下: 场景显示如下: 2)添加脚本组件 GridController. ...
- SpringBoot+Shiro+LayUI权限管理系统项目-1.项目介绍
1.项目介绍 本项目旨在打造一个基于RBAC架构模式的通用的.并不复杂但易用的权限管理系统.通过本项目可以较好的理解权限系统的常见业务同时学习掌握Springboot和Shiro等诸多技术点.需要的朋 ...
- Oracle开发人员守则
以下为Oracle大师级语录: Oracle Database developers should follow is to do everything they can in SQL. What t ...