自我总结的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 开发的一个项目的部分源码,此项目代码"比较垃圾",所以请各位码农,码畜,码神,码圣勿喷!发此文只为记录工作问题以及分享问题! 一. 项目 ...
随机推荐
- TF-VAEGAN:添加潜在嵌入(Latent Embedding)的VAEGAN处理零样本学习
前面介绍了将VAE+GAN解决零样本学习的方法:f-VAEGAN-D2,这里继续讨论引入生成模型处理零样本学习(Zero-shot Learning, ZSL)问题.论文"Latent Em ...
- PHP的数据对象PDO
PHP的数据对象PDO 一.什么是PDO 手册说:PHP 数据对象 (PHP Data Object) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体 ...
- .NET 云原生架构师训练营(模块二 基础巩固 HTTP管道与中间件)--学习笔记
2.3.2 Web API -- HTTP管道与中间件 管道 中间件 ASP.NET Core 中间件:https://docs.microsoft.com/zh-cn/aspnet/core/fun ...
- ArrayList中的遍历删除
ArrayList 中的遍历删除 在代码编写过程中经常会遇到这样的要求:遍历一个线性表,要求只遍历一遍(时间复杂度\(O(n)\)),删除符合指定条件的元素,且要求空间复杂度 \(O(1)\). 例如 ...
- Java21 + SpringBoot3使用Spring Security时如何在子线程中获取到认证信息
目录 前言 原因分析 解决方案 方案1:手动设置线程中的认证信息 方案2:使用DelegatingSecurityContextRunnable创建线程 方案3:修改Spring Security安全 ...
- google recaptcha 谷歌人机身份验证超详细使用教程,前端/后端集成说明
壹 ❀ 引 在日常页面交互中,验证码使用是极为频繁的,登录注册验证,非机器人操作验证等等,它遍布于每一个网站.说到验证码实现,Goole Recaptcha是一个非常不错的选择,那么希望通过本文的使用 ...
- Ubuntu 22.04 Samba 安装和配置
安装 安装 sudo apt install samba 检查服务状态 systemctl status smbd --no-pager -l 检查是否启用(开机自启动) systemctl is-e ...
- Laravel入坑指南(11)——列队
很高兴,我们来到了Laravel入坑指南的第11篇.这一系列的文章已经接近尾声了,在这一节里面,我们一起讨论列队的用法. 列队,顾名思义,将需要处理的任务一个一个排好队,等待处理程序来处理.这机的列队 ...
- BUU PWN RIP1 RET2CODE WRITEUP
1.下载附件后,运行是一个输入程序,IDA分析main函数,gets可溢出. F5伪代码如下: int __cdecl main(int argc, const char **argv, const ...
- 3D环饼图
// <div class="AnalysisAccCom"> <first-title title="分析对象统计"> ...