我非常擅长使用git和github,但我已经阅读了文档并遵循了所有说明,但仍然无法提交并将我的更改推送到Github上我自己的存储库https://github.com/davejonesbkk/flask-intro
当我尝试使用'gut push origin master'时,在登录后返回以下内容:
To https://github.com/davejonesbkk/flask-intro
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/davejonesbkk/flask-intro'
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.
然后我尝试按照github文档中的建议做一个'git pull origin master'并返回以下内容:
From https://github.com/davejonesbkk/flask-intro
* branch master -> FETCH_HEAD
error: The following untracked working tree files would be overwritten by merge:
app.pyc
config.pyc
models.pyc
posts.db
sample.db
saple.db
test.pyc
venv/.Python
venv/bin/activate
venv/bin/activate.csh
venv/bin/activate.fish
然后可能是从本地存储应用程序的根目录的基本上所有文件等的一百行或更多行,然后是:
Please move or remove them before you can merge.
Aborting
但是我读到我应该能够通过在我的根文件夹中包含一个.gitignore文件来解决这个问题,这是我的内容:
*.pyc
venv
.DS_Store
blog
*.db
coverage
tag.py
我已经在这里读了一些关于这个问题的其他问题,他们都建议使用.gitignore文件,但我有一个,那么我还需要做什么呢?
如果它有帮助,这也是我的分支和远程分支的输出:
(discover-flask)Davids-MacBook-Air:flask-intro david$ git branch -a
* master
remotes/heroku/master
remotes/origin/master
remotes/upstream/master
(discover-flask)Davids-MacBook-Air:flask-intro david$ git remote -v
heroku https://git.heroku.com/calm-falls-6315.git (fetch)
heroku https://git.heroku.com/calm-falls-6315.git (push)
origin https://github.com/davejonesbkk/flask-intro (fetch)
origin https://github.com/davejonesbkk/flask-intro (push)
upstream https://github.com/davejonesbkk/flask-intro (fetch)
upstream https://github.com/davejonesbkk/flask-intro (push)
我已经成功地推送到这个存储库了一段时间但是这是一个多月以前和一个教程后我不确定从那时起发生了什么变化,你可以看到我从那时起也推到了Heroku但是那也是在完成教程的同时完成。
我在Mac上使用virtualenv时尝试在Flask应用程序中推送文件。
非常感谢任何帮助!
答案 0 :(得分:1)
首先拉回仓库,然后使用push -f
命令,如果正常push command is not working
。
答案 1 :(得分:1)
要申请.gitignore文件,请使用此
$git add .gitignore
提交您的更改(如果您在项目中添加了一些新文件,请不要忘记使用git add命令)
$git commit -am"my commit"
之后尝试再拉一次
$git pull origin master
无论如何,请阅读有关git reset and it --hard key
的更多信息