git笔记------自己学习git的心得
git个人学习总结:
git是一个管理代码的版本控制系统,用git init创建一个git可以管理的仓库,这个仓库里有一个工作区,我们最基本的那些命令操作都是在工作区完成,在创建仓库的时候,在工作区里git又自动创建了一个.git文件,这个文件不属于工作区,是git的一个版本库,在版本库里有一个暂存区和一个git自动创建的分支,当我们通过git add向仓库添加文件时,实际上就是添加到了暂存区上面,当我们用git commit来提交全部文件时,实际上是从暂存区把文件上传到了分支上面。
为什么git比其他版本控制系统更优秀,是因为git是根据修改去追踪和管理代码的,而非文件,如果我们修改了文件,而没有add 直接commit的话 修改的文件是上传不到git的
每次我们提交新的文件到master的时候,master就会向前进一步,串成一条时间线,随着你提交的次数越多,这条线也越来越长,head指向当前的master,表示当前分支在master上。
当我们新建一个分支的时候,比如dev,git会自动创建一个名为dev的指针出来,指向master,再把head指针指向分支dev,表示当前分支就在dev上,从现在起,对于工作区的修改和提交都是针对dev的了。
如果我们在dev的工作完成了,我们可以把dev合并到master上面,
就是把master指向dev。
因为创建,合并和删除分支非常快,所以鼓励你使用分支去完成某个任务,这样比直接在master 分支上工作更安全,并且一样效率;
当git不能自动合并时,需要手动解决冲突,在合并。
fast-forward信息,是git告诉我们,合并模式是快速合并,--no--ff表示禁用fast-forward模式。在合并时,加上--no--ff就可以查看的到曾经的合并
。。。。。。。。。。。。。。。。。。
当出现bug的时候,先把工作储藏起来,用git stash。然后在出现bug的分支上创建一个临时分支。然后切换到临时分支,处理完bug后,通过add commit 把正确的内容提交到分支上,然后合并分支。删除临时分支。当我们返回查看工作区时(git stutus),发现工作区是干净的,这时候我们需要使用git stash list命令查看,你会发现,我们之前的工作还在,只需要命令git stash apply恢复之前的工作就行,但是我们醋藏起来的stash内容依然存在,使用git stash drop来删除,或者直接git stash pop 恢复的同时把stash也一起删除。
当项目需要添加新功能时,最好新建一个分支。
多人协作的工作模式:
1,试用git push origin branch-name推送自己的修改
2,失败的话,是因为远程分支比你的本地更新,需要先git pull 把服务器的分支抓取到本地,进行合并,
3,本地提交
4,git push origin branch-name 推送成功
创建标签:
忘记打标签,直接找到提交历史,获取到commitid 然后git tag 标签 commitid
git笔记------自己学习git的心得的更多相关文章
- (数据科学学习手札141)利用Learn Git Branching轻松学习git常用操作
1 简介 大家好我是费老师,Git作为世界上最流行的版本控制系统,可以说是每一位与程序打交道的朋友最值得学习的软件之一.除了管理自己的项目,如果你对参与开源项目感兴趣,那么Git更是联结Github. ...
- 学习 git基础命令
缘起 年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊. 自己也就先从常用的技术开始学起,比如C#,AngularJS ...
- 从0开始学习 Git
1. 什么是Git? Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里我只 ...
- Git版本控制管理学习笔记5-提交
这个标题其实有些让人费解,因为会想这个提交是动词还是名称? 提交动作是通过git commit命令来实现的,提交之后会在对象库中新增一个提交对象.提交过程中会发生哪些变化,在上一篇笔记 ...
- Git版本控制管理学习笔记3-基本的Git概念
为了更近一步的学习和理解Git的理念,这一节介绍一下Git中的一些基本概念. 基本概念 对象库图示 Git在工作时的概念 一.基本概念: 1.版本库: Git的版本库就是一个简单的数据库,其中 ...
- 【Git学习笔记】初始化Git仓库和版本回退
学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又 ...
- git学习笔记之二 -- git分支
前面对git基础作了简单的总结,这次对git的杀手锏--分支做一总结. Git分支简介 几乎每个版本控制系统都以某种形式支持分支,可以使你的工作从开发主线上分离开来,以免影响开发主线.很多版本控制系统 ...
- Git学习笔记01-安装Git
学习的资料来自廖雪峰官方网站的Git教程,菜鸟教程的Git教程 Git是一个分布式版本控制工具,在windows上使用Git可以直接从官网下载,然后默认选项安装即可. 安装完成后,在开始菜单中找到找到 ...
- 学习Git的一点心得以及如何把本地修改、删除的代码上传到github中
一:学习Github的资料如下:https://git.oschina.net/progit/ 这是一个学习Git的中文网站,如果诸位能够静下心来阅读,不要求阅读太多,只需要阅读前三章,就可以掌握Gi ...
随机推荐
- Redis学习笔记之一 : 配置redis
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- L1正则化及其推导
\(L1\)正则化及其推导 在机器学习的Loss函数中,通常会添加一些正则化(正则化与一些贝叶斯先验本质上是一致的,比如\(L2\)正则化与高斯先验是一致的.\(L1\)正则化与拉普拉斯先验是一致的等 ...
- Android方法数不能超过65535
为什么方法数不能超过65535?搬上Dalvik工程师在SF上的回答,因为在Dalvik指令集里,调用方法的invoke-kind指令中,method reference index只给了16bits ...
- Codeforces 858A. k-rounding 数论
题目: 题意:输入n和k,找到一个最小的数,满足末尾有至少k个0和是n的倍数. 最小的情况 ans = n,最大的情况 ans = n*pow(10,k). 令 k = pow(10,k); 我们发现 ...
- hdu3018欧拉回路题
Ant Trip Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- swiper拖拽之后不自动滑动问题
//swiper轮播图 var mySwiper = new Swiper('.swiper-container',{ initialSlide :0, autoplay : 3000, direct ...
- Python实战之文件操作的详细简单练习
['_CHUNK_SIZE', '__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__' ...
- zoj3954 详细讲解 排序比较单词法
Seven-Segment Display Time Limit: 1 Second Memory Limit:65536 KB A seven segment display, or se ...
- ZOJ2067 经典 DP
题目:一个由'.'和'#'组成矩形,统计里面'.'组成的矩形的个数.点击打开链接 自己写挂了,懒得搞了 #include <stdio.h> #include <string.h&g ...
- NopCommerce 1. NopCommerce Application_Start启动过程
这里简单介绍整个启动过程,其他具体的后续讲解 从Application_Start中执行开始,一开始执行EngineContext.Initialize(false); EngineContext 是 ...