在本地复制git repo

时间:2015-10-31 23:08:01

标签: git

我在git repo中有一个应用程序,我想在本地复制。我在GitHub上没有这个项目,但我想我可以/也许应该。我想要在我的本地机器上制作同一个应用程序的两个版本 - 我想设置一个使用外部数据库(如AWS,但不确定写这个),另一个只是继续在Heroku上使用“内部”PostgreSQL数据库。

想想看,因为我想要一个完全在Heroku上运行的演示应用程序和一个使用AWS进行存储的“生产”应用程序。

我如何分叉这个本地仓库?

修改

我已经看到了GitHub上的说明,但不确定它是否会对我有用,因为我还没有推送到GitHub。

3 个答案:

答案 0 :(得分:2)

你可以:

git clone myrepo myrepocopy

它不必位于远程服务器上。或者你可以创建一个听起来像你可能想要做的分支。

答案 1 :(得分:0)

Git允许使用与http(s):

相同的语法从文件系统进行克隆
strncpy(frase2, eliminar_espacios(frase), sizeof frase2)

答案 2 :(得分:0)

任何本地目录都可以基本上像远程仓库一样使用。如果你想在没有网络的情况下推进某个地方,有时会很方便。

自己测试一下,在dir'a'中创建回购:

$ mkdir a
$ cd a
$ git init
Initialized empty Git repository in /tmp/a/.git/
$ git config receive.denyCurrentBranch ignore

在dir'b'中创建回购:

$ mkdir ../b
$ cd ../b
$ git init
Initialized empty Git repository in /tmp/b/.git/

向其添加提交:

$ echo foo > foo
$ git add foo
$ git commit foo -m 'commit 1'
[master (root-commit) b3c0319] commit 1
 1 file changed, 1 insertion(+)
 create mode 100644 foo

将'a'dir添加为名为'local'的遥控器,然后按下它:

$ git remote add local ../a
$ git push local master
Counting objects: 3, done.
Writing objects: 100% (3/3), 213 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To ../a
 * [new branch]      master -> master

现在,检查它看起来像任何其他遥控器,在dir'c'中创建repo:

$ mkdir ../c
$ cd ../c
$ git init
Initialized empty Git repository in /tmp/c/.git/

将'a'目录添加为名为'local'的遥控器:

$ git remote add local ../a

提取提交(在'b'仓库中完成):

$ git pull local master
From ../a
 * branch            master     -> FETCH_HEAD
$ ls -l
total 4
-rw-r--r-- 1 mjw mjw 4 Oct 31 23:41 foo