问题产生
一般我们不要git上传编译后的文件,github也不鼓励上传二进制文件,而且上传了编译文件还会拖慢另外设备的同步项目的速度,所以我不想上传我的编译生成的二进制文件,
但是因为自己在linux下生成c++的编译文件之前的配置都是没有后缀的,所以gitignore不好检测排除
解决
方案一
- 直接头铁去网上找了很多"如何gitignore 忽略上传二进制文件",然后按照大佬们说的gitignore配置了好久
- 最终配置成下面这样,但是git上传记录证明我的配置不合理,失败了…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
### 忽略所有文件和目录
*
### 增加指定扩展名文件和Makefile文件
#### C && makefile
!*.cpp
!*.c
!*.h
!Makefile
#### py
!*.py
#### md
!*.md
#### pic
!*.png
!*.jpg
#### some others
!*.sh
!*.bat
!*.gitignore
|
方案二
- 想到了linux下可执行文件不是还有
.out
文件吗?
- 后面在网上查了一下发现:linux下可执行文件不像windows那样要看后缀,而是看属性是否是可执行的
- 于是立马更该自己的sublime的c++编译配置,最种git提交成功忽略二进制
.out
文件
- 最终的gitignore如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
## Cpp:
*.exe
## VScode:
build
.vscode
## Python
__pycache__
*.pyc
## 2019年9月22日22:01:00 发现网上找的上面的操作并没有成功,然后自己去网上探索,最后发现linux下的可执行文件不看后缀,而是看属性,所以自己刻意在编译中设置后缀,然后gitignore那个后缀就完美了
## linux cpp on what I set the sa of cpp
*.out
|
送一份linux下Sublime的C++编译配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
{
// 2019年09月22日23:33:32 为了gitignore修改后缀
// "shell_cmd": "g++ '${file}' -o '${file_path}/${file_base_name}'",
"shell_cmd": "g++ '${file}' -o '${file_path}/${file_base_name}.out'",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Build & Run",
// "shell_cmd": "x-terminal-emulator -e bash -c \"g++ '${file}' -o '${file_path}/${file_base_name}' ; '${file_path}/${file_base_name}' ; read -p '\nPress ENTER or type command to continue...'\""
"shell_cmd": "x-terminal-emulator -e bash -c \"g++ '${file}' -o '${file_path}/${file_base_name}.out' ; '${file_path}/${file_base_name}.out' ; read -p '\nPress ENTER or type command to continue...'\""
},
{
"name": "Build Only",
// "shell_cmd": "g++ '${file}' -o '${file_path}/${file_base_name}'"
"shell_cmd": "g++ '${file}' -o '${file_path}/${file_base_name}.out'"
},
{
"name": "Run Only",
// "shell_cmd": "x-terminal-emulator -e bash -c \"'${file_path}/${file_base_name}' ; read -p '\nPress ENTER or type command to continue...'\""
"shell_cmd": "x-terminal-emulator -e bash -c \"'${file_path}/${file_base_name}.out' ; read -p '\nPress ENTER or type command to continue...'\""
}
]
}
|