2015-09-07 152 views
1

我現在有這種的設置爲我的web應用程序的git checkout覆蓋所有文件嗎?

  1. 發展副本,筆記本電腦,這是我做的所有編碼。
  2. 裸露的回購(使用git init - 在我的web服務器的/projects/test.git文件夾中不可用)。另外,我添加了一個後接收。

作爲

#!/bin/sh 
GIT_WORK_TREE=/public_html/projects/test git checkout -f 
  • 我使我的筆記本電腦的變化。做一個git add。git commit and git push web master
  • 我的問題是它會重置/ public_html/projects/test中的文件以保持它與開發回購同步,否則它只會推送更改。這個問題是,當人們上傳內容/提交的東西在網絡上的應用程序,它添加到/ public_html/projects/test/uploads文件夾,我擔心它是否會用我的開發副本每次替換上傳的內容。另外,當我通過開發機器進行一些上傳時,我無法添加/上傳到.git_ignore,然後進行推送,我希望這些文件也可以添加到public_html製作版本中。那麼,git checkout -f是如何工作的?

    +0

    相關:[是否git checkout更新所有文件](http://stackoverflow.com/questions/26214691/does-git-checkout-update-all-files) – Jubobs

    回答

    0

    git checkout -f有兩個值:

    1. 它返回的文件,在Git的樹HEAD
    2. 它從你隱藏的文件列表,當你的git樹改變分支的文件修改

    如果文件或文件夾停留在git忽略,你可以手動將它添加到git樹git add -f。所以它可能對開發者機器有幫助。