GIT clone + composer创建项目

时间:2015-03-07 15:13:30

标签: git version-control

问题是可以将composer create-project用于已经是GIT存储库的目录。

我有这样的情况 - 我想创建Laravel项目,我希望在我的本地机器上将此目录置于GIT版本控制之下。

如果我首先克隆我的本地存储库(它是空的)然后运行composer create-project ...我将会错误该目录已经存在。如果我首先创建项目然后尝试将git克隆到此存储库,则相同。

目前我找到的唯一解决方法是克隆本地存储并为不存在的目录运行composer create-project,然后手动将文件从这个新目录复制到我克隆存储库的目录。这是正确的,唯一的方法吗?

2 个答案:

答案 0 :(得分:1)

其实这就是要走的路。 create-project从远程位置创建项目。如果目录已经存在,如果它不是空的,那么无论是作曲家还是git都不能决定如何处理冲突。

但是,您说您创建了一个存储库,并希望通过create-project将项目克隆到此文件夹中。这很直接

composer create-project foo/bar
cd bar
rm -Rf .git
git init

此外,您可以将原点保持为远程,因此您可以更轻松地从上游获取更改。只需添加您自己的遥控器,只需按下它即可。

答案 1 :(得分:0)

当我有一个远程git存储库至少提交一次时,我通常要做的事情如下:

  1. 创建一个作曲家项目
  2. 在内部启动新的git存储库
  3. 进行首次提交
  4. 将远程服务器添加到本地git
  5. 从远程git服务器获取提交
  6. 将本地分支链接到远程分支
  7. 将新提交放在现有提交之后

示例:

composer create-project acme/framework project          # Creates composer project
cd project                                              # Go to project
git init                                                # Create new git repo
git add --all                                           # Add all for commit
git commit -m "Set up Acme Framework"                   # Commit
git remote add origin https://gitlab.com/Me/project.git # Add remote server
git fetch                                               # Fetch data from server
git branch -u origin/master                             # Link local and remote branches
git rebase                                              # Move local branch after remote

如果您的远程存储库中没有任何提交,请不要​​

git fetch
git branch -u origin/master
git rebase

并将下一个git push替换为

git push --set-upstream origin master