1 Star 0 Fork 0

wfoo00/Linux

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Linux_12_git_本地Linux绑定gitee_增删查改_同步本地和远端_Makefile_debug_release.c 8.82 KB
一键复制 编辑 原始数据 按行查看 历史
#define _CRT_SECURE_NO_WARNINGS 1
Linux_12_git
git --version //是否安装了 git
sudo yum install -y git //yum安装 git
userdel -r //删除:就是删除用户的相关数据, 会把对应配置文件也删除。
git status // 查看本地和远端的状态
git add. // 添加到暂存区
git commit -m "...日志..." // 提交到本地仓库
git push // 同步本地仓库内容到远端
git log // 查询版本历史
.gitignore // 不想同步到远端的后缀,存放处
本地 Linux 绑定 gitee
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
git config --global user.name 'xxxx' // 绑的gitee
git config --global user.email 'yyyy.com' // 绑的邮箱
从远端获取数据到本地
下载代码请复制以下命令到终端执行:
git clone https ://gitee.com/账户/linux_test.git // 拉取远端仓库到本地
拉取完成:
[a@192 b]$ ll
drwxrwxr - x. 3 a a 73 Mar 18 09:15 linux_test // 本地就得到了远端仓库的内容
[a@192 linux_test]$ ll - a
仓库内容:...
drwxrwxr - x. 8 a a 163 Mar 18 09 : 15.git // 本地的git 仓库,用户无法直接进行修改【暂存区(修改记录...)】
- rw - rw - r--. 1 a a 430 Mar 18 09 : 15.gitignore
- rw - rw - r--. 1 a a 832 Mar 18 09 : 15 README.en.md
- rw - rw - r--. 1 a a 921 Mar 18 09 : 15 README.md
拷贝文件
拷贝 上级目录的 上级目录中 a文件夹中 / process 以及其中全部文件,到当前目录。
[a@192 linux_test]$ cp .. / .. / a / process . - rf
process文件包含内容:
[a@192 linux_test]$ tree process
process
├── Main.c
├── Makefile
├── processbar
├── Processbar.c
└── Processbar.h
把本地文件同步到远端
[a@192 linux_test]$ git add process // 同步当前文件下 process 到远端仓库。 / git add . (同步当前文件下的所有内容到远端仓库)
[a@192 linux_test]$ git status // 查看本地和远端的状态
# On branch master //在分支主机上
# Changes to be committed : //要提交的更改 // 要提交用:git commit - m "...日志..." / git commit 提交到本地仓库,与本地仓库对比
# (use "git reset HEAD <file>..." to unstage) // 要重置用:git reset
#
# new file: process / Main.c
# new file: process / Makefile
# new file: process / Processbar.c
# new file: process / Processbar.h
# new file: process / processbar
提交到了本地仓库中:
[a@192 linux_test]$ git commit - m "first commit, this is my process bar code"
确认无误后,同步到远端:
git push // 同步本地仓库内容到远端
Username for 'https://gitee.com' : 输入 gitee 账户...
Password for 'https://【账户...】@gitee.com' : 输入 gitee 密码...
本次提交信息:
Counting objects : 9, done.
Compressing objects : 100 % (8 / 8), done.
Writing objects : 100 % (8 / 8), 3.68 KiB | 0 bytes / s, done.
Total 8 (delta 1), reused 0 (delta 0)
remote : Powered by GITEE.COM[GNK - 6.4]
To https ://gitee.com/ 【账户:】/linux_test.git
【修改的ID ..3b4c789 master->master
再次查看本地和远端的状态
[a@192 linux_test]$ git status
# On branch master //在分支主机上
nothing to commit, working directory clean //无需提交,工作目录是干净的
[a@192 linux_test]$
——————————————————————————————————————————————————————————————————————————————
查询版本历史
//第 2 次提交:
[a@192 linux_test]$ git log
commit 3b4c789721e00980467d49e388e867db23c7dd4d
Author : 【账户:】 <12987909 + 【账户:】@user.noreply.gitee.com>
Date : Mon Mar 18 09 : 47 : 05 2024 - 0700
//第 1 次提交:
first commit, this is my process bar code // 自己写的提交的日志信息
commit 99088014ffd8a672a42b53eb4896bc2d0f61fe64
Author : 【账户:】 <12987909 + 【账户:】@user.noreply.gitee.com>
Date : Mon Mar 18 15 : 56 : 43 2024 + 0000
Initial commit
[a@192 linux_test]$
——————————————————————————————————————————————————————————————————————————————
删除文件
[a@192 linux_test]$ cd process // 打开文件,我们发现,我们吧二进制文件也提交到了远程仓库
[a@192 process]$ ll
total 28
- rw - rw - r--. 1 a a 78 Mar 18 09:31 Main.c
- rw - rw - r--. 1 a a 84 Mar 18 09 : 31 Makefile
- rwxrwxr - x. 1 a a 8768 Mar 18 09 : 31 processbar //二进制文件
- rw - rw - r--. 1 a a 769 Mar 18 09 : 31 Processbar.c
- rw - rw - r--. 1 a a 166 Mar 18 09 : 31 Processbar.h
[a@192 process]$ git rm processbar //删除这个二进制文件
rm 'process/processbar'
[a@192 process]$ git add . //修改完成 /重新添加到暂存区
[a@192 process]$ git commit - m "delete binary file" //提交到本地仓库
[master e0357f2] delete binary file //删除二进制文件(是在本地删除的)
1 file changed, 0 insertions(+), 0 deletions(-)
delete mode 100755 process / processbar
[a@192 process]$ git push //同步到远端
输入 gitee 账户:
输入 gitee 密码:
再次查看本地和远端的状态:
[a@192 process]$ git status
# On branch master
nothing to commit, working directory clean //无需提交,工作目录是干净的
【删除成功!】
——————————————————————————————————————————————————————————————————————————————
debug / release
debug 可以被调试:
编译器形成可执行程序的时候
会给可执行程序添加调试信息!
release无法被调试:
gcc / g++默认编译,采用release模式
gcc / g++让他以 debug模式编译, - g
——————————————————————————————————————————————————————————————————————————————
Makefile :
myprocess - debug:myprocess.c
gcc -o $@ $^ -g
.PHONY:clean
clean :
rm - f myprocess - debug
——————————————————————————————————————————————————————————————————————————————
< 对比:debug / release >
debug 一般比 release ,多出了调试信息
-rwxrwxr - x. 1 a a 8488 Mar 19 10:54 myprocess
- rwxrwxr - x. 1 a a 9752 Mar 19 11 : 06 myprocess - debug
< 读取可执行程序的符号表:>
[a@192 aa]$ readelf - S myprocess - debug
Section Headers :
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
...
[27].debug_aranges PROGBITS 0000000000000000 00001096
0000000000000030 0000000000000000 0 0 1
[28].debug_info PROGBITS 0000000000000000 000010c6
00000000000000f8 0000000000000000 0 0 1
[29].debug_abbrev PROGBITS 0000000000000000 000011be
000000000000009a 0000000000000000 0 0 1
[30].debug_line PROGBITS 0000000000000000 00001258
000000000000005d 0000000000000000 0 0 1
[31].debug_str PROGBITS 0000000000000000 000012b5
00000000000000d6 0000000000000001 MS 0 0 1
...
——————————————————————————————————————————————————————————————————————————————
或者忽略大小写 grep
[a@192 aa]$ readelf - S myprocess - debug | grep - i debug
[27].debug_aranges PROGBITS 0000000000000000 00001096
[28].debug_info PROGBITS 0000000000000000 000010c6
...
myprocess - debug 多出的部分就是调试信息!
而默认编译 myprocess 没有 debug 调试信息
[a@192 aa]$ readelf - S myprocess | grep - i debug
无任何信息...
readelf 读取 ELF 格式
Linux 二进制存储格式是 ==> ELF 格式
——————————————————————————————————————————————————————————————————————————————
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wfoo00/linux.git
git@gitee.com:wfoo00/linux.git
wfoo00
linux
Linux
master

搜索帮助