如何在BitBucket上已经有代码的情况下连接BitBucket仓库和现有的本地git项目

sshcrbum  于 2023-02-02  发布在  Git
关注(0)|答案(1)|浏览(183)

请注意:虽然我在这里提到了BitBucket,但我认为这是一个本质上的问题,任何有经验的git用户都可以回答。我提到BitBucket只是为了让人们意识到我没有使用GitHub,因此,* 不能 * 使用GitHub特定的解决方案来解决问题。但我再次认为答案是100%在git命令行上。

此外,如果要选择基于BitBucket UI的解决方案还是纯git命令行解决方案,我当然更喜欢后者!
我有一个车在马前面的场景在这里进行。
我被要求创建一个新项目并为它编写一些代码,因为当时与我一起工作的人还没有准备好在他们的BitBucket工作区中创建一个新的存储库,所以我在本地进行了一个POC。我把我的项目命名为some-service,现在我准备把这个项目推到一个新的BitBucket仓库中与其他开发人员共享。我想要一个主分支和一个开发分支(或者现在git/BitBucket的规范)。
问题是,他们不愿意给予我“创建新存储库”的权限,所以他们坚持让 * 他们 * 创建存储库,然后只给我读/写访问权限。因此,在BitBucket上,他们创建了一个名为some-service的新存储库,其中包含README.md.gitignore,并且只有一个master分支。
通常在GitHub上,我自己创建repos,它们有一个main分支,GitHub为我提供了一些命令行来连接/同步我现有的本地repo和GitHub上的新repo。
我可以在这里做什么,最好是只从git命令行,这样:

  • 我可以克隆这个repo,或者git init我的本地some-service项目,并“连接它们”,这样我就可以在命令行上git push并将这些更改推送到BitBucket上的远程项目中的分支;以及
  • 我可以将本地副本中的代码设置为main分支,并将其推送到BitBucket;以及
  • 在BitBucket中创建一个develop分支,并向下拉该分支,这样在本地和BitBucket上,我都有maindevelop
0sgqnhkj

0sgqnhkj1#

您可以为本地存储库添加一个远程存储库。
具体而言

# Add bit bucket repository as remote
git remote add origin <link to bit bucket repository>

# Fetch remote changes (Readme etc)
git fetch origin

# Rebase local commit on top of remote
git rebase origin/master

# Push main branch to origin
git push -u origin main

# GUI interface necessary at this point for BitBucket.
# Navigate to the repository, then enter "Repository settings" (appears on
# the left list menu), enter "ADVANCED", under "Main branch" select 
# "main". Finally, click "Save changes".

# Delete master branch on remote
git push origin --delete master

# Create the develop branch, assuming it doesn't exist
git checkout -b "develop"

# Push develop branch to origin
git push -u origin develop

相关问题