将 Bitbucket 用于现有项目

Posted

技术标签:

【中文标题】将 Bitbucket 用于现有项目【英文标题】:Using Bitbucket for existing project 【发布时间】:2014-10-26 06:41:32 【问题描述】:

我的本​​地机器上有一个现有的 django 项目(在 virtualwrapper 中)。如何将其添加到 Bitbucket?

假设我的 django 项目是这样的:

project
  --manage.py
  --apps
  --db.sqlite3
  ...

那么我应该在 'project' 目录下执行 'git init' 吗? 由于是在virtualwrapper中开发的,所以我认为只有项目文件会被推送到Bitbucket,对吗?如果我想在不同的计算机上开发项目,并且想从 Bitbucket 中提取项目文件,我应该怎么做?我的意思是我应该在我的新机器上创建另一个虚拟环境,在从 bitbucket 导入文件之前安装 django 和必要的 pakcages 吗?

我是 git 新手,所以我不知道什么是最好的。

【问题讨论】:

对不起,太宽泛了。我们不能也不会在这里教你 Git。您最好阅读像 Atlassian put up 或 free Pro Git book 的优秀人员这样的 Git 教程。然后询问您是否不了解特定问题。 This question 回答您关于 virtualenv 的具体问题。 【参考方案1】:

那么我应该在 'project' 目录下执行 'git init' 吗?

是的,但在那之后,不要添加所有内容。 首先创建一个.gitignore 文件,在其中声明不应版本控制的文件(生成的文件)

然后添加并提交:更新本地存储库。 您可以轻松地将其链接到现有的空 BitBucket 存储库:

git remote add origin ssh://git@bitbucket.org/username/myproject.git
git push -u origin master # to push changes for the first time

通常,you wouldn't store a binary like db.sqlite3 在 source 存储库中。 但是这个blog post 建议通过

.gitattributes.git/info/attributes 文件中,为 Git 提供文件名模式和差异驱动程序的名称,我们将在接下来定义。就我而言,我补充说:

db.sqlite3 diff=sqlite3

然后在.git/config$HOME/.gitconfig 中,定义差异驱动程序。我的看起来像:

[diff "sqlite3"]
    textconv = dumpsqlite3

我选择定义一个外部 dumpsqlite3 脚本,因为这在其他地方很有用。 它只是将 SQL 转储到 stdout 以获取其第一个参数给出的文件名:

#!/bin/sh
sqlite3 $1 .dump

【讨论】:

谢谢。哦,是的,你是对的。我只是排除要提交的 db 文件。

以上是关于将 Bitbucket 用于现有项目的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Github 帐户和 Bitbucket 公司帐户添加多个 SSH 密钥

为啥我对 Bitbucket 的所有 Xcode 提交都会在 Bitbucket 上显示其他用户的“作者姓名”?

如何以不同用户的身份自动连接到 Bitbucket 以获取不同的存储库? [复制]

jenkins 无法连接到远程位桶存储库

用于颠覆和/或 BitBucket 的 VS2017 SSIS 版本控制

从 bitbucket 中的现有 git commit 创建一个新分支 [重复]