2016-04-05 28 views
2

我在Git中有一個遠程分支,稱爲開發和本地開發分支。我修改可以說3個文件:git只添加一些更改的文件

git status 
modified file1 
modified file2 
modified file3 

現在我想補充,並承諾只file1和(現在的文件2和文件3將被添加之後而不是),將其推到遠程分支。我嘗試推送它,但git不允許推送,因爲遠程頭比我的本地先進。然後我試着做git fetchgit rebase,但後來,git說我有未跟蹤的文件。 Git建議把它們藏起來。我是git的新手,到目前爲止我所知道的是git stash是爲了在切換另一個分支的情況下保存工作變化。在我的情況下,我不轉換我的分支。 git stash是否安全?或者還有其他一些方法嗎?我很感謝你的解釋。

回答

1

推之前,您需要提交修改。它由本地完成:

#add files to specific commit 
git add file1 

# commit added files 
git commit -m "init commit" 

# stash file2 file3 
git stash 

# now, when working dir is clean you can safly pull updates from remote repo 
git pull 

# push your changes (your commit) to remote repo 
git push origin master 

#return file2 file3 changes 
git stash apply 
+0

據稱他目前不想提交所有文件。我認爲隱藏在這裏會更好... –

+0

要回答OP,您可以將添加行更改爲只包含一個必需的文件,其餘命令應完全按照OP的要求進行操作。 – CyberneticianDave

+0

我想要做的是rabase,但我的工作目錄不乾淨,因爲我沒有添加2個文件,我改變了,這就是爲什麼我問關於statch? – Lakshi

0

您可以選擇性地放置文件。

例如,讓我們在第一講提交你只是想用file1和只推:

git add file1 
git commit -m "first bit of changes" 
git push 

使用Git,你可以在一個非常細緻,讓你打造你的提交階段文件一個合理的方式。

至於問題的另一部分...

我試圖推動它,但混帳不允許推動,因爲遠程HED是 AHED比我的地方

是,這對於stash來說確實是一個很好的用例。

這樣做:

git stash 
git pull 
git stash pop 
+1

在這裏拉不夠,不必重置? – CyberneticianDave

+0

是的,「拉」幾乎肯定會起作用。只是不知道,如果OP有他的跟蹤分行正確設置... –

+0

@Cyber​​neticianDave我繼續前進,並將其改爲'拉' –