清理git仓库】的更多相关文章

参考 https://harttle.land/2016/03/22/purge-large-files-in-gitrepo.html https://git-scm.com/docs/git-rev-list https://git-scm.com/docs/git-filter-branch https://git-scm.com/docs/git-verify-pack 改文章是自己操作时查找资料的实践内容,内容完全来自上面的作者. 前言 开发久了,有一些很老的东西,比如一开始没有拆分后…
使用git时间不长,在调机械臂项目的时候,由于对TwinCAT3和vs的机制不太了解,没有添加很好的忽略文件(.gitignore).造成git仓库包含了很多没有用的文件,例如vs的sdf文件,TwinCAT3的PLC编译文件等等.当时急着赶项目结题也没有考虑特别多,抱着能用就行的心态.现在项目结题初期的检测工作已经完成,回来填之前留下的坑. 通过查找资料,看到可以通过BFG工具来清理git仓库.在GitHub的帮助页面中也推荐了这个工具.官网说是比git-filter-branch工具快10-…
Git仓库删除大文件 背景 当用Git久了,难免会手误或临时添加一些大文件到仓库中,即使以后添加进了.gitignore,甚至做了git rm,但是Git为了保证版本可回退,history pack里面依然会存储这些对象,这个时候我们就要为Git仓库进行瘦身. 或者不是大文件的情况,有时我们需要删除掉一些敏感信息文件,比如password.txt,即使回退也无法找到敏感文件,要实现这个要求,也要对history pack进行清理. 清理主要做如下一些事情: 寻找想要彻底清理的文件路径 查询这个文…
原文发布于:https://www.chenxublog.com/2019/05/26/remove-git-big-files.html 有写老的git仓库,因为当年的无知,不会用.gitignore,残留下了像debug.obj等目录的文件,非常占空间,然后就需要对历史里的各种垃圾进行清理了 第一步当然是打开git bash(linux可以无视) 这里要确定某种文件或某个路径,是你要永久清理掉的 如果是目录,执行: git filter-branch --force --index-filt…
方案对比 subtree 使用命令 git subtree split -P dirPath -b branchName 将目标文件夹的代码都保存到指定分支.试了下,该方案虽然保留了 commit,但是所有分支全都没了 filter-branch git filter-branch --prune-empty --subdirectory-filter dir1 -- --all --prune-empty:表示如果修改后的提交为空则扔掉不要 --subdirectory-filter:指定子目…
摘要:本文介绍了笔者多个本地工作节点(地方)的多台电脑(PC/笔记本电脑)同步源码到2个远端的GIT(一个GITHUB国外强制公开,一个oschina国内可不公开). 作者:太初 转载说明:请指明原作者,连接,及出处. 正文 大多数IT工作者,或者直接点程序员,总是上网查资料,往往会提2种问题: A.自己有个想法X,查看网上是否有类似经验的人,告知这条路,这个方法是否走得通?X是否可行?(期望得到答案,少走弯路,怕浪费精力) B.确认想法X或方法可行,但苦于不知道细节,只能查网络资料,比如到博客…
Git中如何利用生成SSH个人公钥访问git仓库方法(这里以coding平台为例): 1. 获取 SSH 协议地址 在项目的代码页面点击 SSH 切换到 SSH 协议, 获得访问地址, 请使用这个地址来访问您的代码仓库,如下图: 2. 生成公钥 Mac/Linux 打开命令行终端, Windows 打开 Git Bash . 输入ssh-keygen -t rsa -C “username@example.com”,( 注册的邮箱),接下来点击enter键即可(也可以输入密码). $ssh-ke…
只需要在本地建立多个仓库就行,提交的时候一个本地仓库对应一个git仓库…
1.拉取 svn代码并转成 git 版本 git svn fetch http://svn.qtz.com/svn/qtz_code/java/qtz_sm/project/qtz_sm -Auser.txt user.txt 文件格式如下 xiaolailong = Loissiau<xiaolailong@yw01.com> 如果中途报有svn提交者未映射,则 补上 ,再进入git仓库目录,执行 git svn fetch -Auser.txt -Afilename 相当于 --autho…
关于git仓库的初始化和git push的操作 git init git remote add origin ssh://myserver.com/home/git/myapp.git git pull origin master git status ... git push origin master  -------------------- 为git安装一个远程仓库 2010-05-28Linux 查看评论 需要将代码push到一个远程仓库 在远程服务器上初始化空的仓库 mkdir /h…
一 代码推送到远程git仓库 1.在git中建立一个下项目(假设项目名称为->Mygit) 2.在xocde上新建一个测试项目(假设项目名称为GitTest) 3.打开电脑终端: 1)首先利用终端命令进入xcode新建的测试项目(GitTest)的目录中 2) echo "# Mygit" >>README.md  回车 3) git init 回车 4) git add READEM.md 回车 5) git commit -m "commit init&…
学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”. 1. 初始化Git仓库 创建空目录 $ mkdir learngit $ cd learng…
Git——新手入门与上传项目到远程仓库GitHub(转) - Chen_s - 博客园http://www.cnblogs.com/Chenshuai7/p/5486278.html 注意的问题: 1.当时在myeclipse里修改了代码,然后各种add,commit都改不了,找了半天原因,最后发现在myeclipse里加载的工程是一个复制品,就是git仓库里的原件并没有变化……好像之前为了让原件当做备份,我默认设置的是copy to meclipse中,所以在用myeclipse加载工程时要注…
svn迁移到git仓库并保留commit历史记录 最近在做svn迁移到gitlab,由于之前一直是由svn做版本控制.最简单的方式是将svn的内容export出来,然后添加到gitlab即可.但是,如果svn用的时间很长了,而且很多commit,我们希望保存svn commit的信息以便做版本的控制和比较.幸好git提供了相应的解决办法. 前提 已安装git 已安装gitlab 迁移 1.环境准备: yum install -y git-svn 2.svn账号与git账号映射,users.txt…
嗨!朋友,今天我们将学习如何在你的Linux服务器或者PC上安装Gitblit工具.首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤.Git是分布式版本控制系统,它强调速度.数据一致性,并且支持分布式.非线性工作流.它最初由Linus Torvalds在2005年为Linux内核设计和开发,使用GPLv2证书,并从此成为软件开发中使用最广泛的版本控制系统. Gitblit是完全开源的软件,它基于纯粹的Java堆栈,被设计以在Git仓库速度和效率方面胜任从小型到极大型的项目.它很容…
引用自:http://my.oschina.net/flan/blog/162189 在使用git 处理对android的修改的过程之中总结的.但不完善 Git push $ git push origin test:master         // 提交本地test分支作为远程的master分支 $ git push origin test:test              // 提交本地test分支作为远程的test分支 如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删…
前提: 1. 需要安装git 客户端.  能打开 git  bash 命令行窗口. 2. 生成了ssh 秘钥,并添加到了Github上面. 一.在Github上面建立一个git仓库. 点击 + 号,在github上添加一个git仓库. 选择create repository . 二.通过命令把本地的文件传到github上面. 1. 初始化一下仓库. 在本地要初始化的目录下打开  命令行工具Git bash . 执行: git  init 2.  在 .git 所在的目录下,添加 一个   REA…
在本地创建了一个Git仓库后,还想在Github创建一个Git仓库,并使其远程同步.1.在电脑的用户主目录下有无.ssh目录,若有看是否有id_rsa和id_rsa.pub文件.若无,则创建SSH Key.打开Git Bash; $ssh-keygen -t rsa -C "youremail@example.com" 2.在GitHub中的Account setting,SSH Keys页面,点"Add SSH Key",填上任意Title,在Key文本框里粘贴i…
使用密钥来访问Git仓库比密码安全多了,只要把公钥配置在远程端,把密钥放到~/.ssh/里以id_rsa命名即可. 不过有人要问如果有多个仓库,而且用了不同密钥怎么办? 这时候可以在~/.ssh/文件夹里建立config文件,里面配置好即可,例: Host www.1.com Hostname www.2.com User tintin1926 IdentityFile ~/.ssh/2.key Host www.2.com Hostname www.2.com User tintin1926…
虽然 Git 确实是被许多重要软件选作版本控制工具,但是并不是仅能用于这些重要软件;它也能管理你购物清单(如果它们对你来说很重要的话,当然可以了!).你的配置文件.周报或日记.项目进展日志.甚至源代码! 使用 Git 是很有必要的,毕竟,你肯定有过因为一个备份文件不能够辨认出版本信息而抓狂的时候. Git 无法帮助你,除非你开始使用它,而现在就是开始学习和使用它的最好时机.或者,用 Git 的话来说,“没有其他的 push 能像 origin HEAD 一样有帮助了”(千里之行始于足下的意思).…
折腾了快一天了,终于搭建成功了. 分享一下搭建的步骤: 一.GIT仓库的创建 1. adduser git 2. passwd git 此例设置git的密码为123456 3. cd /home/git 4. git init --bare test.git 此例使用/home/git做为git仓库目录,并创建一个项目名为test.git 5. chown -R git:git test.git 将项目的权限赋予git用户. 6. vim /etc/passwd 将git:x:1001:1001…
GIT平台在OSChina中的搭建帮了我们很大的忙,但如何将本地GIT仓库上传至OSChina的远程仓库,相信这是一个艰难的坎,今天我就在此总结我的成功经验,帮助大家,共同学习.由于条件有限,我全部的编写上传都是手机完成的,包括这篇文章. GIT同步问题出现 我一直都在用AIDE编写一个安卓软件,从1.1版到2.2.2版一系列版本,都在本地仓库存储,突然有一天,我想找同学一起开发了,然后问题来了:怎样才能将代码共享完了还要有控制权,能够决定代码是否被采用?那就用github吧.由于github网…
一.git 仓库从远程clone 首先要建立一个本地空目录文件比如 RuntimeJsonModel,然后: 1. git init 2. git clone https://github.com/GuoZhiQiang/RuntimeJsonModel.git 此时,已经 从远程 clone 了一份文件.如果 把一些工程需要的其它文件,比如 First.h 和 First.m 放到了文件夹 RuntimeJsonModel 中,那么 提交到远程的时候,需要: 3. git add First.…
亲测可用 因为自己 commit 并且 push 后 因为冲突 提交不了,不小心做了 rebase 代码被 覆盖 用以下命令 还原: 查看所有日志 并记下 hash 值 git reflog 然后用: git reset --hard 记下的hash值 然后打开 eclipse 刷新一下代码就回来了. 在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支 结果造成本地(远程)的分支或某些commit丢失 可…
导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教程. 一.在Dropbox的文件夹下创建远程repository文件夹(.git后缀) cd ~/Dropbox/project mkdir demo.git 二.进入demo.git文件夹并初始化repository cd demo.git git init --bare 三.创建完毕,现在创建一…
1. 更新git版本: http://codelife.me/blog/2013/06/25/upgrade-git-on-centos-6-4/ 2. 建立git仓库: git init --bare myrepo.git    # 建立代码仓库 chgrp  -R git /opt/myrepo.git     # 更改属组 chmod g+rsw -R /opt/myrepo.git    # 给组 读写权限 #每次有人push后,设置 新文件的属组是 新属组git, echo “#!/b…
一.在eclipse上安装git,和安装其他插件一样 help->Install new software->add... 在弹出框中输入name,location;点击-->ok 在这步中全部勾选name下面的选项,点击next进行安装,装好之后进行重启eclipse 重启后,进行简单的配置 点击window  ->preferences  ->  team  ->  git  ->configuration出现如图所示 点击   add Entry...  输…
有时候egit出现莫名其妙的问题,这次是无法对git仓库进行reset . & & 解决方法: 找到对应git仓库的磁盘目录,然后进行git brash.(一定要安装了git客户端) 右键git brash 执行如下命令 git reset --hard.(egit其实也是这么操作的.) ps:.git文件夹下有.lock文件的话要提前删除.这样才能reset成功.…
有个项目,用SVN commit的在国内开源中国的码云托管,可以直接Git clone"导出"一个本地的git仓库,我在Github上新建立了一个远程的仓库,准备把在码云上clone的仓库推到Github上(需要保留commit log记录).首先先git pull [github remote address] 到本地clone的仓库,但是会出现错误refusing to merge unrelated histories 意思就是,这两个合并的仓库提交历史不一致,所以拒绝合并.需要…
转载请注明出处 http://www.goteny.com/articles/2014/06/136.html http://www.cnblogs.com/zjjne/p/3778640.html 1. 先远程登录局域网内服务器 2. 在服务器里 切换到某个文件夹下, 然后新建一个文件夹用作git仓库(文件夹名最好跟准备推到服务器的仓库文件夹名相同), 并切换到此文件夹下, 接着将用git init 命令在此文件夹下建立一个git 仓库(图中的—bare参数为建立一个裸仓库), 然后退出服务器…