在git clone之后,要使代码正常工作,我必须在本地进行一些更改。因此,无论何时我必须推送代码,都需要在推送之前撤消那些更改。有什么办法可以使一些本地更改不会显示在git diff中。 我不想仅在部分代码中忽略完整文件。
答案 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)
我建议将文件/代码/类拆分为单独的文件。
然后您有多种选择:
git update-index --assume-unchanged path/to/the/file
git stash
和Stash only one file out of multiple files that have changed with Git?的魔力