我正在关注一本关于Django的书,当我尝试将文件推送到Bitbucket存储库时,出现此错误: 我在cmd中写道:
git init
git status
git add -A
git commit -m "comment"
在cmd中:
git remote add origin https://dd@bitbucket.org/dd/simple-app.git
git push -u origin master
我收到此错误:
! [rejected] master -> master (non-fast-forward) error: failed
to push some refs to 'https://dd@bitbucket.org/dd/simple-app.git'
hint: Updates were rejected because the tip of your current branch is
behind hint: its remote counterpart. Integrate the remote changes
(e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note
about fast-forwards' in 'git push --help' for details.
答案 0 :(得分:0)
如提示所示-引入远程更改。先执行git pull origin master
,然后再执行git push -u origin master
应该可以解决您的问题。
答案 1 :(得分:0)
在Bitbucket中创建项目时,我假设您已标记了使用README文件初始化存储库的选项。这将导致初始提交。
您本地的git存储库没有此提交,因此,当您尝试推送代码时,会收到错误消息,提示您需要在推送之前进行提取。
您要做的就是提交本地更改(根据您的问题进行了更改),因此现在只需拉出更改,然后再次按下
# get the "updates" from the server
git pull
# Now if there are no conflicts push your code
git push
从git版本2.X开始,您无需添加git push,因为它将推送当前分支
Git v2.0发行说明
当“ git push [$ there]”未说明要推送的内容时,我们使用了 到目前为止,传统的“匹配”语义(所有分支都已发送 只要已经有同名的分支机构 在那边)。在Git 2.0中,默认值现在是“简单”语义, 推动:
仅当前分支到具有相同名称的分支,并且仅 当当前分支设置为与该遥控器集成时 分支,如果您要推送到从其获取的同一远程;或
仅当前分支到具有相同名称的分支(如果您 正在推送到通常不从那里获取的远程站点。
答案 2 :(得分:0)
为避免将来出现这些麻烦,一个好的做法是克隆远程存储库(如果不存在)。
git clone https://remote.repo
cd
进入新目录,然后提交,推送,拉动您的内心内容!
如果您打算使用本地软件,则可以使用git init
,然后稍后再创建一个空的Bitbucket存储库。像使用git remote add origin [url]
一样,将引用添加到原点,然后从那里继续。
通过克隆,您可以避免完全使用git init
,并且可以自由提交,而不必担心拥有两个完全独立的提交历史。
Git的优点在于它能够以简单的方式执行其他复杂的版本控制任务,请不要过度思考。