GitLab备份与恢复

作者: 时间: 2018-05-02 评论: 暂无评论

[配置备份地址]
修改/etc/gitlab/gitlab.rb

gitlab_rails['backup_path'] = '/home/backup'
gitlab-ctl reconfigure

[创建备份]

gitlab-rake gitlab:backup:create

[每天执行]
crontab -e 添加

0 0 * * * gitlab-rake gitlab:backup:create

[还原]

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1500809139

SVN迁移到GIT

作者: 时间: 2018-01-18 评论: 暂无评论

安装git-svn

yum install -y git-svn

window打开gitbash
[设置对应的用户信息]
新建 /data/user.txt写入

svn账户=git用户名<邮箱>
user1=xw<xw@by.com>
user2=zq<zq@by.com>

必须在gitlab添加ssh个人密钥,没有添加会在下面的推送命令出错

直接输入

ssh-keygen -t rsa -C "your_email@example.com"

三次enter后,根据对应的地址,找到.ssh/id_rsa.pub文件,添加到gitlab个人密钥

git svn clone svn地址 --authors-file=/data/user.txt
git remote add origin https://username:password@github.com/project/test.git
git push -u origin master

[注意] clone如果项目是空的,那么clone的时候会有提示,哪个用户没有定义

[删除远程地址]

git remote rm origin

git rebase 冲突 失败

作者: 时间: 2016-05-03 评论: 暂无评论

我们通过phpstorm 来看分支的变化(PS:phpstorm 太强大了)
1.准备主分支
a.在目录下,创建一个 test.txt文件用于冲突测试.
b 提交文件.

git add test.txt .gitignore
git commit -m '开始'
...
git commit -m '首页'
...

2.准备测试分支

git branch dev

通过修改 test.txt,模拟写一个注册功能

git commit -m '注册'
...

3.开始rebase

git checkout dev
git rebase master  //可以通过 -i参数修改注册功能的历史记录
提示冲突文件test.txt, 修改文件,把<<<<<<<  ======= >>>>>>>都删掉.
**用git status 查看是工作区否干净**
git add test.txt
git rebase --continue
git push -f  

ps:以上操作可以通过phpstorm 实现,我冲突失败的原因在于phpstrom生成的.idea文件夹没有忽略掉, 工作区不干净

附带phpstorm查看状态的方法,phpstorm的下方,点击 version control,点击log

git恢复文件

作者: 时间: 2015-12-28 评论: 暂无评论
git checkout index.php
git reset HEAD af58

git回退到某个历史版本

作者: 时间: 2015-12-27 评论: 暂无评论

首先查看历史版本,按q退出

git log

回退

git reset –-hard  af58//af58是从log里面看到的记录

删除远程分支

  git push origin :dev

推送本地分支

git push origin dev:dev