游戏 Game 配置文件存档同步到Git,你敢想?

标题党,其实我是想请教一下Git的相关问题

大致需求


我有一个游戏文件夹,大致目录结构如下。

游戏目录 XxxGames/

  • 文件夹 Plugin

    • 一些文件

  • 文件夹 Data

    • 一些文件

  • 文件夹 Save

    • 一些存档

  • 根目录下一些文件.exe/.log等

我的操作


  1. 在XxxGames下 $ git init

  2. 然后 $ git remote add coding http://url.git

  3. 在目录下新建了一个 .gitignore 文件排除了一些文件

  4. $ git add .

  5. $ git commit -m "first commit"

  6. $ git push coding master

  7. 推送成功了,但是发现有些目录和文件不需要同步

  8. 于是又修改 .gitignore 再次排除不需要的目录和文件

  9. 再 $ git add . 和 commit 的时候为什么不排除我刚更新的文件只是更新了.gitignore

详细问题


  1. 本地已经有的文件夹(项目),要同步到git具体是个什么步骤。

  2. push过以后再修改u.gitignore 再add再commit 为什么不排除我刚修改的排除

阅读 3.9k
2 个回答

首先第一个问题,具体步骤也很简单,大致是以下几步:

  • 初始化仓库

git init
  • 添加gitignore文件

  • 查看仓库中的文件状态,在这里可以看一下应该忽略的文件是否被忽略,应该添加的是否可以被看到

git status -s
  • 添加到暂存区

git add .
  • 提交

git commit -m "commit message"
  • 添加远程仓库

git remote add origin <url of remote repository>
  • 推送到远程仓库

git push -u origin master

上面命令中的origin可以随意指定,只是习惯上这么写。
然后是第二个问题,这是由于那些文件之前已经被跟踪,再次修改.gitignore就不会生效(这好像是git已知的一个bug)。解决这个问题最好的办法就是:如果你刚刚进行了一些修改,先将这些修改先提交(commit)上去,然后运行下面的命令:

git rm -r --cached .
git add .
git commit -m "gitignore已经生效"

于是又修改 .gitignore 再次排除不需要的目录和文件

你要先删除,再commit,下次你再新增文件,ignore就生效了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题