完整迁移Git仓库到另一个远程地址(史上最简单办法)

完整迁移Git仓库到另一个远程地址(史上最简单办法),第1张

项目中遇到git仓库迁移,很常见。如何把一个项目中所有的分支,tag等迁移到另一个仓库地址,需要执行一个特别的克隆命令,然后镜像push到新的仓库地址。具体步骤如下

1打开命令行工具

2以 bare 的方式克隆老的仓库

3镜像push到新的仓库地址

4在当前仓库中,把 old-repositorygit 干掉

5更新当前仓库的远程地址

gitlab的镜像仓库链接地址用户名是指的登录名。因为在idea等开发工具中需要配置git环境,才可以在开发工具中更方便的使用git,配置全局用户名密码指令,用户名需要是gitlab的镜像仓库链接地址的用户名以及登录邮箱。

git clone +远程仓库地址\x0d\这里需要注意了,远程仓库会有两个地址,一个是使用SSH协议,一个是使用>

这里引用一下“菜鸟教程”对git的描述

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull

关于git下载安装这里就不细说了,毕竟我们只有5分钟的时间,可以去git官网下载对应的版本网上查查安装教程。

首先建立一个本地仓库(repository)。你可以使用一个已经存在的目录作为Git仓库或创建一个空目录。我这里就创建一个空目录itep为例:

初始化本地仓库

我们有一个仓库,但什么也没有,先在工作区创建一个文件‘demohtml’,可以使用add命令添加到暂存区。

我们在工作区创建了好几个新的文件,html,js,和css。接下来我们都可以添加到暂存区

当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。 注意是修改,而不是新增,新增的文件我们还是要先add,之后再修改这些文件的话,就可以直接使用-a命令了。

现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。

为此,我们将它们提交到本地仓库

接下来我们发布版本,提交到远程仓库。注意这里远程仓库的地址只是举例

5分钟已经到了吧

上面从新建一个页面,提交到远程仓库的流程已经说完了,接下来我们说点别的。。

删除文件

删除工作区和暂存区文件git rm ,删除文件有以下几种形式

对,就是这么简单,你的工作区和暂存区demojs这个文件已经没有了

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。

强行从暂存区和工作区中删除修改后的 demohtml 文件:

如果想把文件从暂存区中删除,但仍然希望保留在当前工作目录中的话这样 *** 作

在有些时候,我们往往从github或者gitlab或者coding上面直接下载项目下来运行,但是这种情况往往没有使用git远程拉取来的安全(或者叫装逼),

所以这里我以gitLab为例子,说一下如何将远程服务器上的代码拉取到本地

首先,你得安装好git的软件 可以从网上获取

安装教程点击链接:git安装教程

安装好后,打开你的远程仓库的网站,当然你得发现你的项目组或者找到开源项目的东东

比如我的 gitlab:

然后随便打开一个项目,复制SSH链接:

接下来就可以开始在黑框里面搞了:

打开刚刚下载的  

在某个本地位置建一个文件夹来放你的项目文件:

然后使用gitbash进入这个文件夹:

然后使用git命令以及刚才复制的ssh链接:

大功告成!!看一下你的本地文件夹有东西吗

1架设Git服务器我们以Ubuntu为例。首先,在git服务器上创建一个名为'git'的用户,并为其创建一个ssh目录。并将其权限设置为仅git用户有读写权限$sudoaddusergit$sugit$cd$mkdirssh$chmod700ssh接下来,把开发者的SSH公钥添加到这个用户的authorized_keys文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子:$cat/tmp/id_rsajohnpubssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4LojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4kYjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9EzSdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myivO7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPqdAv8JggJICUvax2T9va5gsg-keypair只要把它们逐个追加到authorized_keys文件尾部即可,同时将authorized_keys设置为仅git用户有读写权限。$cat/tmp/id_rsajohnpub>>~/ssh/authorized_keys$cat/tmp/id_rsajosiepub>>~/ssh/authorized_keys$cat/tmp/id_rsajessicapub>>~/ssh/authorized_keys$chmod600~/ssh/authorized_keys现在可以用--bare选项运行gitinit来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。$cd/opt/git$mkdirprojectgit$cdprojectgit$git--bareinit这时,Join,Josie或者Jessica就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过shell登入主机并创建一个裸仓库目录。我们不妨以gitserver作为git用户及项目仓库所在的主机名。如果在网络内部运行该主机,并在DNS中设定gitserver指向该主机,那么以下这些命令都是可用的:#在John的电脑上$cdmyproject$gitinit$gitadd$gitcommit-m'initialcommit'$gitremoteaddorigingit@gitserver:/opt/git/projectgit$gitpushoriginmaster这样,其他人的克隆和推送也一样变得很简单:$gitclonegit@gitserver:/opt/git/projectgit$vimREADME$gitcommit-am'fixfortheREADMEfile'$gitpushoriginmaster用这个方法可以很快捷地为少数几个开发者架设一个可读写的Git服务。作为一个额外的防范措施,你可以用Git自带的git-shell工具限制git用户的活动范围。只要把它设为git用户登入的shell,那么该用户就无法使用普通的bash或者csh什么的shell程序。编辑/etc/passwd文件:$sudovim/etc/passwd在文件末尾,你应该能找到类似这样的行:git:x:1000:1000::/home/git:/bin/sh把bin/sh改为/usr/bin/git-shell(或者用whichgit-shell查看它的实际安装路径)。该行修改后的样子如下:git:x:1000:1000::/home/git:/usr/bin/git-shell现在git用户只能用SSH连接来推送和获取Git仓库,而不能直接使用主机shell。尝试普通SSH登录的话,会看到下面这样的拒绝信息:$sshgit@gitserverfatal:WhatdoyouthinkIamAshellConnectiontogitserverclosed这里提供的方法,组内所有成员对project都有读写权限,也就是说每个分支都可以push代码,如果需要更加细致的权限控制,请使用Gitosis或者Gitolite。2搭建Gitweb安装gitweb之后就可以通过网站访问我们的项目了。就像gitwebconf#pathtogitprojects(git)$projectroot="/opt/git";至此gitweb就可以使用了,现在可以通过config[core]repositoryformatversion=0filemode=truebare=true[hooks]mailinglist="example@gmailcom,example2@gmailcom"#收件人列表envelopesender=projectgit@examplecom#送件人地址emailprefix="[Projectcommit]"#邮件标题前缀showrev="gitshow-C%s;echo"#不只显示有变化的文件,同时也显示改变的内容为了使邮件显示的更清楚,还要修改一下工程目录当中的description文件,在description文件中,默认第一行是项目名称,所以要在第一行填入该项目的名称,这个在邮件中会有显示。$vim/opt/git/projectgit/descriptionProject_A

``ssh-keygen -t rsa -C “您的邮箱地址”``

Your identification has been saved in /Users/you/ssh/id_rsa

# Your public key has been saved in /Users/you/ssh/id_rsapub

cd ~/ssh

查看公钥

cat id_rsapub

复制粘贴到码云上

到本地项目文件夹下,右键点击空白处,选择Git Bash Here,进入git窗口

一波 *** 作后的页面

whereis git

yum install -y git

git version

eg: cd /home/ >

以上就是关于完整迁移Git仓库到另一个远程地址(史上最简单办法)全部的内容,包括:完整迁移Git仓库到另一个远程地址(史上最简单办法)、gitlab的镜像仓库链接地址用户名是指的登录名还是自己取的、如何从远程git服务器上拉取一个新建的git项目等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9519488.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存