1、本地.gitignore 新增配置
log/uilog/* // log/uilog/路径下文件都不可提交
!.gitkeep // 保留.gitkeep
2、项目结构如下
projectXXX
.
├── data
├── log
│ └── uilog
│ └── .gitkeep
3、但.gitignore提交后,本地 gst 没有出现->log/uilog/.gitkeep
输入:
git rm -r --cached .
返回文件里也不包含:
rm log/uilog/.gitkeep
> g add log/uilog
The following paths are ignored by one of your .gitignore files:
log/uilog
Use -f if you really want to add them.
g add -f log/uilog
git status
查看> gst
On branch xxx
Your branch is up to date with 'origin/xxx'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: log/uilog/.gitkeep
log/uilog/.gitkeep 终于可提交了!
这时再push 上去,.gitignore配置生效。
好使。✅
详细操作过程:
# 本地手动创建了 log/uilog/.gitkeep
> gst # 没有检查出 log/uilog/.gitkeep
On branch xxx
Your branch is up to date with 'origin/xxx'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .gitignore
no changes added to commit (use "git add" and/or "git commit -a")
> g add log/uilog # 尝试 git add
The following paths are ignored by one of your .gitignore files:
log/uilog
Use -f if you really want to add them.
> g add -f log/uilog # 根据提示尝试 git add -f
> gst # 再次查看可提交文件
On branch xxx
Your branch is up to date with 'origin/xxx'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: .gitignore
new file: log/uilog/.gitkeep
> g ci -m "add empty log/uilog" # 提交
[xxx c6d3918] add empty log/uilog
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 log/uilog/.gitkeep
> git push
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 378 bytes | 378.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0)