2014-12-26 49 views
1

我跑到下面的命令第5章Ruby on Rails的教程 - Git的合併拋出錯誤

$ bundle exec rake test 
$ git add -A 
$ git commit -m "Finish layout and routes" 
$ git checkout master 
$ git merge filling-in-layout 

運行最後的 「合併」 命令,它拋出了以下錯誤後:

error: Your local changes to the following files would be overwritten by checkout: 
     spring/50c4ccb1d8f630979e84c03ba14676d1.pid 
Please, commit your changes or stash them before you can switch branches. 
Aborting 

My .gitignore file is as follows : 

    # Ignore bundler config. 
/.bundle 

# Ignore the default SQLite database. 
/db/*.sqlite3 
/db/*.sqlite3-journal 

# Ignore all logfiles and tempfiles. 
/log/* 
!/log/.keep 
/tmp 
# Ignore Spring files. 
/spring/*.pid 

我DNT看到合併的文件,我也無法切換回分支 - 填充佈局。該應用已停止在雲端Ide服務器上工作。

請大家指出一下。

回答

4

嘗試運行:

git checkout spring/50c4ccb1d8f630979e84c03ba14676d1.pid 

,然後再次嘗試合併分支。

git merge filling-in-layout 

您對本地文件的更改spring/50c4ccb1d8f630979e84c03ba14676d1.pid給出此錯誤。

您的.gitignore文件可能存在問題。因爲你的gitignore文件中已經有/spring/*.pid,但它仍然檢查這個文件。可能是你以前的提交有這個文件。

+0

您的解決方案已經爲我工作 – Shail

+0

非常感謝好友! – Shail

+0

這個問題仍然存在 - 發生什麼是每當我改變分支,它會拋出.pid錯誤.. dnt知道我在做什麼錯 – Shail

0

我想我解決方案已經很晚了,但我遇到了同樣的問題。事實證明,我正在運行守衛測試,這是春季文件錯誤。剛剛退出警衛菜單,然後使用git commit -am "anything you want"

2

春天的過程可能會變得太大。我有同樣的問題。

可以使用pkill -15 -f spring

,這裏是從https://www.railstutorial.org/book/static_pages

在類Unix系統如Linux和OS X,用戶和系統任務 各自採取內的良好定義的地方更多信息容器稱爲一個過程。要 看到系統中的所有進程,你可以使用ps命令 的輔助選項:

$ PS AUX類型篩選的過程中,您可以通過grep的模式匹配器運行 PS的結果使用Unix管道|:

$ ps aux | grep spring ubuntu 12241 0.3 0.5 589960 178416? Ssl Sep20 1:46 spring app | sample_app | 7小時前開始顯示的結果 給出了有關過程的一些細節,但最重要的是 thing是第一個數字,它是進程ID或pid。爲了消除 不需要的過程中,使用kill命令發出的Unix 殺碼(這恰好是9)到PID:

$殺-15 12241這是我推薦殺死 各個過程的技術,比如一個流氓Rails服務器(通過ps aux | grep服務器找到 ),但有時候可以很方便地殺死所有匹配特定進程名稱的進程,比如當你想要殺死所有彈出進程時,你的系統。在這種 特定情況下,你應該首先嚐試停止過程與 春季命令本身:

$彈簧擋有時,這是不行的,雖然,你可以使用pkill的殺 所有的進程與名泉命令如下:

$ pkill的-15 -f春季預期 或過程似乎被凍結任何時候東西沒有表現,這是一個好主意,運行的ps aux到 看看發生了什麼事情,然後運行kill -15或pkill -15 -f 來清除事情。

相關問題