自我总结的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 开发的一个项目的部分源码,此项目代码"比较垃圾",所以请各位码农,码畜,码神,码圣勿喷!发此文只为记录工作问题以及分享问题! 一. 项目 ...
随机推荐
- conditional_t和enable_if_t的实现
conditional_t和enable_if_t是元编程里面很相似却有有着一定区别的模板.形如conditional_t<_Cond, _If, _Else>是指如果_Cond表达式 ...
- Bi-VAEGAN:对TF-VAEGAN提出的视觉到语义进一步改进
论文"Bi-directional Distribution Alignment for Transductive Zero-Shot Learning"提出Bi-VAEGAN,它 ...
- P9549 「PHOI-1」路虽远 题解
题目链接:路虽远 带限制的 dijkstra,优先考虑有哪些限制条件,当做类似 dp 去写.闯黄灯次数有要求,限制速度的边数量有要求. 我们注意到,如果选择哪些边限速不易于基于贪心选择,可以考虑转换下 ...
- webrtc终极版(题外话)辛苦写文章分享,竟然遇到喷子狂喷,写篇文章回怼下,顺便发表下面对喷子的处理方式
webrtc终极版(题外话)辛苦写文章分享,竟然遇到喷子狂喷,写篇文章回怼下,顺便发表下面对喷子的处理方式 第一篇文章发过后,出人意料的是,收到了博客园某一位用户的狂喷[注:本系列文章会同步发布到cs ...
- 小知识:grep过滤以#号开头的注释行 和 空行
xtts的配置文件,有很多注释不想直接去掉的情况下,想清楚的看到目前设置了哪些参数,可以用grep过滤查看: grep -vE '^#|^$' xtt.properties 效果如下: [oracle ...
- .NET Core开发实战(第28课:工作单元模式(UnitOfWork):管理好你的事务)--学习笔记
28 | 工作单元模式(UnitOfWork):管理好你的事务 工作单元模式有如下几个特性: 1.使用同一上下文 2.跟踪实体的状态 3.保障事务一致性 我们对实体的操作,最终的状态都是应该如实保存到 ...
- CentOS7上systemctl的使用
CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替. 1.原来的 service 命令与 s ...
- Resharper 和 Rider 的奇淫技巧,你知道多少?
Resharper 和 Rider 的奇淫技巧,你知道多少? .NET 开发中最令人印象深刻的生产力工具之一是ReSharper.每次发布时,我都对它的功能感到震惊.不要误会我的意思,我喜欢 Visu ...
- 【Unity3D】人机交互Input
1 前言 Input 是 Unity3D 中用于人机交互的工具类,用户可以调用其 GetKey.GetMousePosition.GetMouseButton.GetAxis.GetButton ...
- keras建模的3种方式——序列模型、函数模型、子类模型
1 前言 keras是Google公司于2016年发布的以tensorflow为后端的用于深度学习网络训练的高阶API,因接口设计非常人性化,深受程序员的喜爱. keras建模有3种实现方式--序列模 ...