问题描述
标题党,其实我是想请教一下Git的相关问题大致需求
我有一个游戏文件夹,大致目录结构如下。
游戏目录 XxxGames/
文件夹 Plugin
一些文件
文件夹 Data
一些文件
文件夹 Save
一些存档
根目录下一些文件.exe/.log等
我的操作在XxxGames下 $ git init
然后 $ git remote add coding http://url.git
在目录下新建了一个 .gitignore 文件排除了一些文件
$ git add .
$ git commit -m 'first commit'
$ git push coding master
推送成功了,但是发现有些目录和文件不需要同步
于是又修改 .gitignore 再次排除不需要的目录和文件
再 $ git add . 和 commit 的时候为什么不排除我刚更新的文件只是更新了.gitignore
详细问题本地已经有的文件夹(项目),要同步到git具体是个什么步骤。
push过以后再修改u.gitignore 再add再commit 为什么不排除我刚修改的排除
问题解答
回答1:首先第一个问题,具体步骤也很简单,大致是以下几步:
初始化仓库
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已经生效'回答2:
于是又修改 .gitignore 再次排除不需要的目录和文件
你要先删除,再commit,下次你再新增文件,ignore就生效了