在git中进行本地非推送更改

时间:2018-08-21 02:30:35

标签: git

在git clone之后,要使代码正常工作,我必须在本地进行一些更改。因此,无论何时我必须推送代码,都需要在推送之前撤消那些更改。有什么办法可以使一些本地更改不会显示在git diff中。 我不想仅在部分代码中忽略完整文件。

4 个答案:

答案 0 :(得分:1)

不确定是否可以部分忽略文件

您可以在gitignore中的配置文件中执行环境变量,然后在代码中执行以下操作

if ENV['some-environment-variable'] == 'some-value'
   //do certain things
else if  ENV['some-other-environment-variable'] == 'some-other-value'
   //do other certain things
else 
   //do nothing
end

这对您的解决方案有用吗?

答案 1 :(得分:1)

您可以交互地确定要提交的更改。使用git add --patch遍历代码更改的块并添加所需的内容。然后,您可以推送这些更改,并将本地修改保留在本地。

答案 2 :(得分:0)

假设您的分支机构为library(dplyr) library(plotly) iris <- datasets::iris scatter <- plot_ly(data = iris, x = ~Sepal.Width, y = ~Sepal.Length, type = 'scatter', text = ~Species, color = I('orange')) %>% layout(shapes=list(list(type = 'line', x0 = mean(iris$Sepal.Width), x1 = mean(iris$Sepal.Width), y0 = 4, y1 = 8, line = list(width = 2)), list(type = 'line', x0 = 1.5, x1 = 5, y0 = mean(iris$Sepal.Length), y1 = mean(iris$Sepal.Length), line = list(width = 2))), annotations = list(list( x = 3.4, y = 7.9, xref = 'x', yref = 'y', text = 'Mean Sepal Width', showarrow = FALSE ), list( x = 4.7, y = 5.6, xref = 'x', yref = 'y', text = 'Mean Sepal Length', showarrow = FALSE ))) scatter 。从中创建一个新分支foo。提交bar中的可推送更改,并提交foo中的非推送更改。

每当您要测试bar的代码是否可以工作时,请先运行foo,然后将检出git rebase foo bar并进行更新,然后测试更新后的{ {1}}。如果可行,您可以按bar

如果以后用新的提交更新了bar,请再次运行foo以更新foo

答案 3 :(得分:0)

我建议将文件/代码/类拆分为单独的文件。

然后您有多种选择:

  1. git update-index --assume-unchanged path/to/the/file
  2. git stashStash only one file out of multiple files that have changed with Git?的魔力
  3. 添加您不想提交给git忽略的更改的文件。