Python 存在拉取请求冲突问题
我试图将一个分支与主分支合并,但我的冲突很难解决,因为它说使用cmd行,而使用cmd行选项则无法解决问题 Github给了我这个 步骤1:从项目存储库中引入更改并进行测试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 然后,
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上了!