我在ubuntu服务器中有一个codeigniter项目
我通常将文件上传到bitbucket。然后在ubuntu服务器中,我从位存储桶中提取文件
但是在项目中,用户在网站的前端上传图像。
当我拉时,git说本地包含不在远程的更改并中止拉动
所以我打了
git add .
git commit -m "message"
git pull
这是正确的方法吗?
我需要从git中排除上载文件夹吗?
文件夹结构
var/ww/html
application
uploads
.git
方法1:强制拉取以覆盖本地更改
如果您不在乎本地所做的更改,并且想从存储库中获取代码,则可以强制执行拉取。这将覆盖您在计算机上所做的所有本地更改,系统将在存储库中显示该版本的副本。
git reset -- hard
git pull
方法2:保留两个更改(本地和来自仓库)
git add $the_file_under_error
git commit
git pull
方法3:保留两个更改但不提交
git stash
git pull
git stash pop
如果弹出存储区后发生一些冲突,则应以通常的方式解决它们。您也可以使用以下命令:
git stash apply
如果合并似乎不可行,请考虑进行基准调整。变基是将一系列提交移动或合并到新的基本提交的过程。在重新定级的情况下,将代码更改为:
git stash
git pull --rebase origin master
git stash pop
如果要从工作副本中删除所有本地更改,只需将它们存储起来:
git stash save --keep-index
如果您不再需要它们,您现在可以放下藏匿处:
git stash drop
通常,用户上载不应被视为代码存储库的一部分。您可以通过打开“ .gitignore”并添加“ uploads / *”行来告诉git忽略该文件夹
[这将防止git跟踪对上载目录的更改,因此,当用户上载文件时,它将不会看到代码更改,也不会看到远程分支位于本地分支的前面。] >
但是,您收到的错误指示您的本地分支具有远程服务器没有的更新(这意味着它在前面)。假设没有其他开发人员(或用户)正在编辑您的远程分支,则可以通过在进行更改之前调用“ git pull”,然后将更改添加,提交并推送到远程来完成此操作。
[如果您已经进行了更改,然后进行了远程更改,则可以通过调用'git stash'将更改存储在其他位置来解决此问题,然后再将'git stash apply'撤回到远程之后,将其恢复分支。