Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 存在拉取请求冲突问题_Python_Git_Pull Request - Fatal编程技术网

Python 存在拉取请求冲突问题

Python 存在拉取请求冲突问题,python,git,pull-request,Python,Git,Pull Request,我试图将一个分支与主分支合并,但我的冲突很难解决,因为它说使用cmd行,而使用cmd行选项则无法解决问题 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 然后,

我试图将一个分支与主分支合并,但我的冲突很难解决,因为它说使用cmd行,而使用cmd行选项则无法解决问题

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

它是缓存文件这一事实是否有意义?

这些文件是
*.pyc
文件,Python术语表规定:

Python源代码被编译成字节码,字节码是Python解释器中Python程序的内部表示形式。字节码也缓存在
.pyc
文件中,这样第二次执行同一文件的速度更快(可以避免从源代码重新编译为字节码)

因此,它是运行程序的Python解释器的副产品。通常情况下,存储这些数据没有附加值。事实上,如果时间戳以某种方式比文件本身更新,那么解释器可能会使用您更改的模块的编译版本,因此将它们保留在存储库中有点“风险”

此外,它将使存储库变得更大,因为每次更改文件的源代码并运行解释器时,相应的
.pyc
都会更改,因此这将创建大量的更改,这些更改也将存储在存储库中。虽然git对于二进制文件来说并不特别糟糕,但是经常更新的二进制文件在磁盘空间方面是有代价的

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


Python项目通常有很多您可能想要忽略的额外文件,例如虚拟环境中的文件。有一个GitHub存储库,其中包含用于编程语言的文件。也许你想把它们包括在你自己的
.gitignore

不,那些是编译文件,你可能应该把它们添加到
.gitignore
*。pyc
文件通常不属于VCS。执行
git-rm--cached\uuuu-pycache\uuuu
然后将
*.pyc
添加到您的
.gitignore
@DeepSpace谢谢!听起来像是要将trickPlease添加到gitignore文件中。@Joelad对于将来的ref,签出行会将您带到基于origin/static的分支static,因为它已经存在,签出static就足够了。然后合并主机将更新static并解决其中的冲突,以便稍后完成合并到主机时不会发生冲突谢谢!我终于把我的整个项目转移到GitHub上了!