Git学习进阶之旅
文章平均质量分 82
本人对Git的学习的个人笔记和心得体会,希望对读此专栏文章的读者有所帮助。
字节卷动
字节卷动 | CSDN博客专家
博客知识包括:Android、ASM、OpenGL、C++、Java、Python、Shell、Jenkins、Gitlab、Git、SVN等相关进阶知识。
展开
-
【Git学习】Git如何Clone带有Submodule的仓库?
学习如何clone带有submodule的仓库,主模块和子模块的仓库是两个不同的仓库原创 2023-02-13 12:16:07 · 4819 阅读 · 2 评论 -
【Git学习】Gitlab创建项目的时候出现了错误 :Failed to create repository via gitlab-shell的解决办法
一、问题描述下午有同事反馈,Gitlab上无法创建新的仓库了,提示如下:The form contains the following error: Failed to create repository via gitlab-shell让我看看是不是GitLab服务器出现了什么问题?二、问题排查猜测一、是不是那位同事的权限不够?遇到这种情况,我先用root管理员的身份,帮...原创 2018-10-20 17:38:31 · 10247 阅读 · 2 评论 -
【git学习】在CenterOS系统上恢复GitLab时出现错误:tar: 由于前次错误,将以上次的错误状态退出 unpacking backup failed
一、问题描述今天在测试加密GitLab备份文件之后,进行解密,然后再恢复GitLab的时候,恢复失败,报了如下的错误:tar: db:无法 mkdir: 权限不够tar: db:无法 mkdir: 权限不够tar: db/database.sql.gz:无法 open: 没有那个文件或目录tar: uploads.tar.gz:无法 open: 权限不够tar: builds.tar...原创 2018-10-23 17:21:03 · 6186 阅读 · 0 评论 -
【Git学习】使用git reflog 命令来查看历史提交记录并使用提交记录恢复已经被删除掉的分支
一、问题描述昨天下午有个同事急急忙忙跑我座位上,要我帮忙,说他刚刚因为手误,将他本地的某个project的某个branch分支删除了,并且也将Gitlab上面的分支也删除了。他本来是想发起merge request的,但是后面他眼神不好以为已经merged过了,就直接删了Gitlab上的远程分支并且将他本地的这个分支也直接删除了。现在他跑过来问我有没有办法恢复,不然他这一天的工作就白费了。二......原创 2018-11-14 10:07:32 · 33162 阅读 · 16 评论 -
【我的Android进阶之旅】Android Studio 中 使用git提交代码报错:Can‘t commit changes from multiple changelists at once
一、错误描述今天在Android Studio中,Commit代码的时候,报错,如下所示:0 file committed, 2 files failed to commit: 1、测试多个changelist提交 Can't commit changes from multiple changelists at once报错截图为:二、分析错误错误提示的核心如下所示:Can't commit changes from multiple changelists at once翻译成中文原创 2021-08-25 08:37:25 · 3793 阅读 · 0 评论 -
【Git学习】 如何通过git log命令来打印出在两个commit之间的所有不同的author提交的记录
一、需求描述每次集成提测,都会有一大批的人员合并代码到develop分支,然后jenkins编译完成之后,得写提测记录。之前负责提测的人员都是直接复制jenkins的修改记录页面的文字。如下所示:但是这个复制出来的文字会有个问题,就是显示出来的文字可能都不是全部的提交记录,比如下面这个第12条就没有显示完整。必须点击details按钮,才能找到全部的提交信息。因此,这个负责提测的人员......原创 2019-03-20 14:55:22 · 13567 阅读 · 1 评论 -
【Git学习】GitLab如何禁用Gravatar头像?
一、问题描述GitLab上的账户,有的人使用的是自动生成的头像,有点人使用的是自定义上传的头像,如下所示如何我们点开两个不同类型的头像,查看链接发现有差异,如下所示:gitlab服务器自动生成的头像自动生成的图片,地址在www.gravatar.com/ 网站上如下面的图片地址是:http://www.gravatar.com/avatar/212c514436b6b8fe3cd...原创 2019-08-31 16:19:18 · 7092 阅读 · 0 评论 -
【Git学习】解决GitLab内存消耗大的问题
一、问题描述今天有提示反馈Gitlab服务器push不上去,让我看看是不是Gitlab服务器出了什么问题。我查看了下gitlab在线的信息这台服务器消耗了31.3GB内存。然后我11:14分尝试去连接Gitlab服务器,发现要很久很久才连接上。直到11点18分才登陆成功。使用 free命令查看了下内存情况,我艹,太猛了吧,使用了60个G,内存只剩2.6G了。刚想继续操作,就.........原创 2018-11-20 09:27:42 · 87761 阅读 · 25 评论 -
【我的Android进阶之旅】如何在浏览器上使用Octotree插件树形地展示Github项目代码?
前言 最近有个同事看到我打开Github项目时,浏览器上的展示效果是树形的,于是他问我这个是什么浏览器插件,我告诉他是Octotree插件。现在我就来介绍介绍这款Octotree插件。效果对比1、未安装Octotree插件的效果首先来看看,如果没有安装Octotree插件来打开Github项目是什么效果?我们打开square公司开源的retrofit项目,如下图所示:Google Chrom原创 2016-10-30 18:09:01 · 4646 阅读 · 1 评论 -
【Git学习】解决git push操作的时候出错,提示 error: unpack failed: unable to create temporary object directory
一、问题描述刚刚在敲完某个模块的代码,提交代码到那么本地分支,然后push到远程分支的时候,出现了下面的错误,提示我Push rejected。然后没有其他的提示了。使用 git bash 终端,输入git push 命令,也提示被拒绝,如下所示:DH207891+OuyangPeng@DH207891 MINGW32 /d/GitLab Source/XTCWatch_T......原创 2018-08-05 16:56:23 · 44649 阅读 · 4 评论 -
【Git学习】 使用SSH登录Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
一、问题描述最近公司的GitLab服务器,由于其他的同事误删了一些东西,导致GitLab服务器不可用了。尝试各种操作都不能恢复之后,我只好将这台服务器进行系统重装,然后重装GitLab服务器了,接着把之前GitLab 备份好的数据都还原之后。让同事们尝试操作Git,同事反馈说无法进行操作,报错大致如下:root@ubuntusrv6:/data2/home/app/I16/Android/.........原创 2018-08-09 14:46:48 · 21576 阅读 · 1 评论 -
【git学习】SVN项目迁移到Git操作指南
2017年6月份的时候,我就着手在公司推广git,首先我自己尝试搭建了GitLab来管理代码,并且通过以下博客记录了GitLab的搭建,以及GitLab备份,GitLab升级等事情。git学习——>在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面git学习——>如何汉化GitLab?(转)git学习——>Git 分支管理最佳实践git学习—...原创 2018-05-19 11:28:50 · 12413 阅读 · 15 评论 -
【Git学习】Windows系统下如何删除已经保存的账号密码
一、背景今天QQ群里有人在使用Git命令去clone Gitlab仓库的代码时,第一次弹框提示输入账号密码的时候输错了,然后后面就一直拒绝,不再重复提示输入账号密码,问我怎么办? 二、解决方法然后我来复现了一下该群友的操作,使用http协议clone GitLab仓库上的代码,并且故意输错密码。1、输入 git clone 命令 2、输入错误的账号密码 3、提示授权失...原创 2018-07-10 12:14:33 · 19342 阅读 · 3 评论 -
【git学习】git clone 出错 error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
一、错误描述使用git 命令 clone 一个git 仓库的时候报错,如下所示:C:\Users\000>git clone https://hub.fastgit.org/githubhaohao/NDK_OpenGLES_3_0.gitCloning into 'NDK_OpenGLES_3_0'...fatal: unable to access 'https://hub.fastgit.org/githubhaohao/NDK_OpenGLES_3_0.git/': error:140原创 2021-11-26 09:46:23 · 7369 阅读 · 0 评论 -
【Git学习】卸载重装Gitlab的时候,出现* ruby_block[supervise_redis_sleep] action run 卡死不动的解决方法
一、问题描述卸载了GitLab,重装了GitLab之后,运行 sudo gitlab-ctl reconfigure命令的时候,卡死在* ruby_block[supervise_redis_sleep] action run 这一行,然后不动了。卡死不动了, 狂敲回车都没反应。二、解决方法2.1 按住CTRL+C强制结束2.2 运行:sudo systemctl rest...原创 2018-10-20 18:07:52 · 5698 阅读 · 2 评论 -
【git学习】GitLab如何创建Merge Request Templates?
一、需求描述通常在GitLab中使用提交request或者加issue的过程中,都会遇到每次填写相似内容的情况,而且一般团队为了规范,发起Merge Request都需要写固定的格式。如下所示,GitLab中有没有提供可以解决这一个问题的方案呢?二、添加Merge Request Templates2.1 在项目中找到文件夹 .gitlab(和 .git 是在同一目录)2.2 创建文...原创 2020-04-29 21:08:01 · 7948 阅读 · 0 评论 -
【神兵利器】你绝对想不到可以直接在浏览器在线上,直接像本地的IDE一样阅读GitHub的源码!一秒钟打开在线 VS Code 阅读 GitHub 代码!真的只需+1s
一秒钟打开在线 VS Code 阅读 GitHub 代码!真的只需+1s原创 2021-04-06 15:37:13 · 2781 阅读 · 0 评论 -
【Git学习】解决升级Git版本为2.36.1之后,AS弹出【SSH Password Login】窗口,并且Git连接远程仓库失败的问题
一、问题描述1.1 版本太低要求升级昨天AS一直提示我,git版本太低了, 我大概记得我之前的Git for Windows版本是2.12.0的。说需要升级到2.19版本之后,然后我想着既然要升级,不如直接升级到最新版本。然后我就升级到了Git for Windows 2.36.1版本。1.2 Git for Windows 下载地址Git for Windows历史所有版本Git for Windows最新版本1.3 查看当前的git版本我们使用命令 git version即可原创 2022-05-12 22:00:00 · 3860 阅读 · 4 评论 -
【git学习】解决git提交代码时报错: Unable to create ‘XXX/.git/index.lock‘: File exists.
一、问题描述使用git提交代码的时候,出现了Unable to create '.git/index.lock' File exists 问题,如下所示:Unable to create 'D:/XXX/.git/index.lock': File exists. Another git process seems to be running in this repository, e.g.an editor opened by 'git commit'. Please make sure al原创 2022-04-01 21:00:00 · 16595 阅读 · 0 评论 -
【git学习】如何编辑git config --global的配置文件
一、需求描述1.1 git config --global --list 查看全局配置C:\Users\000>git config --global --listuser.name=ouyangpenguser.email=oyp@xxx.comalias.st=statusalias.ci=commitalias.co=checkoutalias.br=branchcolor.ui=truecore.autocrlf=truecore.excludesfile=C:\User原创 2021-11-26 10:07:46 · 24727 阅读 · 5 评论 -
【git学习】GitLab中如何批量删除本地以及远程的TAG标签
一、需求描述之前从一个古老的仓库,fork了一份代码,如何开发新的需求。发现有很多Tag和Branch都是之前仓库的,我并不需要,因此需要把他们清理掉。之前Branch的我们写好了脚本删除了,这里就不介绍了。现在介绍下怎么删除TAG标签。二、删除标签在https://www.cnblogs.com/ellacan/p/10690641.html 博客中有介绍下面的命令:删除所有远程标签git show-ref --tag | awk '{print ":" $2}' | xargs git p原创 2021-11-03 15:54:51 · 12181 阅读 · 0 评论 -
Git学习-->GitLab如何修改时区?
一、背景今天有同事在GitLab上查看时间的时候,发现GitLab上显示的时间和提交的时间不一致。本地时间现在为:2017-11-28 11:43查看本地代码提交的时间为:2017-11-28 11:23 本地时间现在为:2017-11-28 11:43,查看本地代码提交的时间为:2017-11-28 10:23,确实是一个小时之前,但是在GitLab平台上显示的世原创 2017-11-28 12:47:45 · 16930 阅读 · 5 评论 -
Git学习-->关于Jenkins编译时候,如何获取Git分支的当前分支名?
一、背景因为代码都迁移到了Gitlab,所以Jenkins编译的时候我们都需要将之前的SVN信息换成现在的Git信息。最近编译一个Lib库的时候,因为团队规定上传Release版本的AAR到Maven的话,必须需要在Jenkins上编译而且Git Branch 必须是master分支才能够上传到Maven。 因此我们就需要在Gradle脚本中,获取Git Branch ,Git Commit...原创 2017-09-02 18:02:26 · 23879 阅读 · 17 评论 -
git学习------> 解决Gitlab 版本升级之后,发送 merge request 出现 http 500 的返回码错误
今天有同事在Gitlab上发送 Merge Request的时候,直接出现如下所示的界面,提示http 500,服务器内部出错。一、错误描述1.1 创建新的 Merge Request1.2 填写 Merge Request 相关信息1.3 发送 Merge Request ,出现500错误1.4 登录管理员账户,在【Admin Area】–>【Monitoring】–>【Logs】–>【produ原创 2017-08-12 18:00:35 · 11072 阅读 · 1 评论 -
Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?
一、背景在我之前的博客 git学习——> Gitlab如何进行备份恢复与迁移? (地址:http://blog.csdn.net/ouyang_peng/article/details/77070977) 里面已经写清楚了如何使用Gitlab自动备份功能。 但是之前的备份功能只是备份到Gitlab服务运行的那台服务器上,如果哪一天那台服务器的磁盘损坏了的话,数据无法取出,那么对于公司来说是一匹无...原创 2017-08-17 17:01:34 · 20100 阅读 · 17 评论 -
Linux学习-->如何通过Shell脚本实现发送邮件通知功能?
1、安装和配置sendmail不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件。不过mail命令是依赖sendmail的,所以我们需要先检查安装和配置sendmail。一般系统都自带sendmail,但是只能给内网的邮箱发邮件。如果想给公网的邮箱发邮件(比如qq邮箱)就需要配置sendmail.这里记录sendmail的安装启动配置...原创 2017-08-18 10:47:33 · 76816 阅读 · 13 评论 -
Git学习-->如何通过Shell脚本实现 监控Gitlab备份整个过程并且通过邮件通知得到备份结果?
一、背景Git学习–>如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器? http://blog.csdn.net/ouyang_peng/article/details/77334215git学习——> Gitlab如何进行备份恢复与迁移? http://blog.csdn.net/ouyang_peng/article/details/77070977Linux学习原创 2017-08-18 19:34:41 · 10234 阅读 · 3 评论 -
Git详解之一:Git起步
原文:http://blog.jobbole.com/25775/起步本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。(查看Git详解系列的全部文章)1.1 关于版本控制什么是版转载 2013-08-26 09:57:04 · 2046 阅读 · 0 评论 -
Git详解之二:Git基础
原文地址:http://blog.jobbole.com/25808/原文:《Pro Git》Git 基础读完本章你就能上手使用 Git 了(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开始阅读)。本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令。读完本章,你就能初始化一个新的代码仓库,做一些适当配置;开始转载 2013-08-26 10:36:57 · 2106 阅读 · 0 评论 -
Git详解之三:Git分支
原文链接:http://blog.jobbole.com/25877/原文:《Pro Git》Git 分支几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。(伯乐在线注:如果你对Git还不了解,建议从转载 2013-08-26 10:44:36 · 2284 阅读 · 0 评论 -
Git详解之四:服务器上的Git
原文链接:http://blog.jobbole.com/25944/原文:《Pro Git》服务器上的 Git到目前为止,你应该已经学会了使用 Git 来完成日常工作。然而,如果想与他人合作,还需要一个远程的 Git 仓库。尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作者们即使在 自己不开机转载 2013-08-26 11:01:10 · 2335 阅读 · 0 评论 -
为什么Git 比 SVN 好
Why Git is better than SVN在版本控制系统的选型上,是选择Git还是SVN?对于开源项目来说这不算问题。使用Git极大地提高了开发效率、扩大了开源项目的参与度、 增强了版本控制系统的安全性,选择Git早已是大势所趋。但对于企业用户来说这个决心不太好下。部分原因是出于对Git的误解,部分原因是尚不了解 Git到底能给项目管理带来什么好处。希望本文能对您转载 2013-08-26 13:35:29 · 2075 阅读 · 0 评论 -
Git详解之五:分布式Git
原文链接:http://blog.jobbole.com/25660/原文:《Pro Git》为了便于项目中的所有开发者分享代码,我们准备好了一台服务器存放远程 Git 仓库。经过前面几章的学习,我们已经学会了一些基本的本地工作流程中所需用到的命令。接下来,我们要学习下如何利用 Git 来组织和完成分布式工作流程。(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开转载 2013-08-26 13:42:14 · 1890 阅读 · 0 评论 -
Git详解之六:Git工具
原文地址:http://blog.jobbole.com/26112/原文:《Pro Git》Git 工具现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程。你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力。(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开始阅读)接下来转载 2013-08-26 13:51:23 · 2610 阅读 · 0 评论 -
Git详解之七:自定义Git
原文链接:http://blog.jobbole.com/26131/原文:《Pro Git》自定义 Git到目前为止,我阐述了 Git 基本的运作机制和使用方式,介绍了 Git 提供的许多工具来帮助你简单且有效地使用它。 在本章,我将会介绍 Git 的一些重要的配置方法和钩子机制以满足自定义的要求。通过这些工具,它会和你和公司或团队配合得天衣无缝。(伯乐在线注:如果你对G转载 2013-08-26 13:59:33 · 1905 阅读 · 0 评论 -
Git详解之八:Git与其他系统
原文链接:http://blog.jobbole.com/26198/原文:《Pro Git》Git 与其他系统世界不是完美的。大多数时候,将所有接触到的项目全部转向 Git 是不可能的。有时我们不得不为某个项目使用其他的版本控制系统(VCS, Version Control System ),其中比较常见的是 Subversion 。你将在本章的第一部分学习使用git s转载 2013-08-26 19:19:38 · 1737 阅读 · 0 评论 -
Git详解之九:Git内部原理
原文链接:http://blog.jobbole.com/26209/原文:《Pro Git》Git 内部原理不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式。我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认为这些内容对于初学者来说可能难以理解且过于复杂。正因如此我把这部分内转载 2013-08-26 19:23:55 · 2151 阅读 · 0 评论 -
Git常用命令
原文链接:http://robbinfan.com/blog/34/git-common-commandGit配置123456789git config --global user.name "robbin" git config --global user转载 2013-08-26 19:26:12 · 2012 阅读 · 0 评论 -
git学习------>"Agent admitted failure to sign using the key." 问题解决方法
今天用git clone 命令clone服务器上的代码时候报了如下的错误:ouyangpeng@oyp-ubuntu:~/Android/git_canplay_code$ git clone gitcply:canplay/vendor/mstar/Canplay/apps/VideoCloning into 'Video'...Agent admitted failure to sign原创 2013-12-04 14:35:57 · 5203 阅读 · 0 评论 -
git学习------>git commit命令的默认编辑器的修改
今天在新同事的电脑上,用git commit命令帮新同事提交代码的时候,编辑完commit的信息后,居然不记得怎么退出了。蛋疼。后来百度了一下,原来此时是进入GUN nano编辑器。在这里可以添加你的commit imformation 然后ctrl+o,回车保存,再ctrl+x退出。好吧,我完全不习惯,因为我电脑上配置的默认编辑器是VIM。 现在把git commit的编辑...原创 2015-09-14 12:27:44 · 16238 阅读 · 2 评论