有拉取请求冲突问题

时间:2019-09-16 10:22:07

标签: python git pull-request

我正在尝试将一个分支与master分支合并,但是我的冲突很难解决,因为它说使用cmd line,并且使用cmd line选项不能解决问题。

Github给我这个...

步骤1:从您的项目存储库中,进行更改并进行测试。

git fetch origin
git checkout -b static origin/static
git merge master

第2步:合并更改并在GitHub上更新。

git checkout master
git merge --no-ff static
git push origin master

然后当我尝试它时,得到此输出

(venv) C:\Users\jferguson\PycharmProjects\WebP1\DEMOPROJECT>git fetch origin

(venv) C:\Users\jferguson\PycharmProjects\WebP1\DEMOPROJECT>git checkout -b static origin/static
fatal: A branch named 'static' already exists.

(venv) C:\Users\jferguson\PycharmProjects\WebP1\DEMOPROJECT>git merge master
Already up to date.

(venv) C:\Users\jferguson\PycharmProjects\WebP1\DEMOPROJECT>git checkout master
Switched to branch 'master'
Your branch and 'origin/master' have diverged,
and have 2 and 2 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

(venv) C:\Users\jferguson\PycharmProjects\WebP1\DEMOPROJECT>git merge --no-ff static
Already up to date.

(venv) C:\Users\jferguson\PycharmProjects\WebP1\DEMOPROJECT>git push origin master
To fortress-sefa.git
 ! [rejected]        master -> master (non-fast-forward)

有冲突的文件是

DEMOPROJECT/__pycache__/__init__.cpython-37.pyc
DEMOPROJECT/__pycache__/settings.cpython-37.pyc
DEMOPROJECT/__pycache__/urls.cpython-37.pyc
DEMOPROJECT/__pycache__/wsgi.cpython-37.pyc

它是缓存文件是否有意义?

1 个答案:

答案 0 :(得分:1)

这些是*.pyc文件,Python词汇表指定:

  

Python源代码被编译为 bytecode ,即CPython解释器中Python程序的内部表示形式。 字节码也缓存在.pyc个文件中,因此第二次执行同一文件更快(可以避免从源代码重新编译到字节码)。

因此,它是运行程序的Python解释器的副产品。通常,存储这些没有附加值。实际上,如果时间戳比文件本身要新,解释程序可能会使用您更改的模块的编译版本,因此将这些代码保存在存储库中有点“麻烦”。

此外,这还将使存储库更大,因为每次您更改文件的源代码并运行解释器时,对应的.pyc都会发生变化,因此这将产生大量的变化,也将存储在存储库中。尽管git对于二进制文件来说并不是特别糟糕,但是频繁更新的二进制文件在磁盘空间方面具有成本。

最好将*.pyc添加到.gitignore,然后使用git rm '*.pyc'删除文件,以从git存储库中删除文件。

Python项目通常包含许多您可能要忽略的额外文件,例如虚拟环境中的文件。 GitHub存储库中有.gitignore [GitHub]个文件用于编程语言。也许您想将这些包含在自己的.gitignore中。