1.检查文件是否最新
例如检查readme.txt
git checkout readme.txt
2.复制项目
例如项目地址:git@192.168.110.7:root/OSR_SKE_LP.git
git clone git@192.168.110.7:root/OSR_SKE_LP.git
3.查看所有分支
//查看远程分支,查看当前所有
git branch -a
4.查看当前分支
//查看当前分支
git branch
5.本地切换分支
//切换分支
git checkout 分支名
6.重命名分支
//重命名分支,以下示例将分支dev改为XHSC-dev
//修改本地分支名称
git branch -m dev XHSC-dev
//将本地分支的远程分支删除
git push --delete origin dev
//将修改后的本地分支推送到远程,并将本地分支与之关联
git push --set-upstream origin XHSC-dev
7.管道命令-分段传递
//在当前目录下,把.o文件分段全部送到.exe
find ./ -name "*.o" | xargs /e/NucleiStudio_IDE_202204-win64/NucleiStudio/tool chain/gcc/bin/riscv-nuclei-elf-size.exe
//输出到某个文件
find ./ -name "*.o" | xargs /e/NucleiStudio_IDE_202204-win64/NucleiStudio/toolchain/gcc/bin/riscv-nuclei-elf-size.exe >> obj.size
//一次显示整个文件
cat obj.size
8、查看文件
//查找当前目录下.o文件
find ./ -name "*.o"
9、查看git提交号详情(日期/内容)
git show 17340a92
10、本地回退到某个提交号
git reset --hard 46de0b49488fbd20f667b17e0cffa148f8a00632
11、打印未跟踪的文件
git clean -nxdf
12、解决未跟踪的文件
git clean -xdf
13、合并分支
git pull origin hd_dev
14、新建分支
//确认在master分支上开新分支(新分支初始内容=master)
git checkout master
//创建新分支 new_dev
git branch new_dev
git checkout new_dev
git push --set-upstream origin new_dev
//检测
git branch -a
15、把目录下所有的文件内容清空
find ./ -name "*.[c|h]" | xargs sed -i '/^/d'
16、拉取过大项目
git clone -b dev_ok --single-branch --depth 1 git@192.168.110.7:root/SEMIDRIVE_202001.git
17、强制回退版本
git reset --hard commitID
git push -f //远程端更新删除
18、删除分支
git checkout master
git branch --delete 1002
git push --delete origin 1002 //git push -D origin 1002
19、撤回add的文件
git reset HEAD
20、回退到某个commit
//本地多余的文件会被保留
git reset --hard commitID
21、撤销某次提交
//撤销commitIDA
git revert commitIDA
//回到撤销前的commitIDB
git reset --soft commitIDB
git revert df3fb0260e7fc95cf1033c08a2cdf0146e012247
git reset --soft 32e5ae72eeeb814dd975fbca67e40601abe6c42b
git push
22、http clone失败
//清除用户姓名和密码缓存配置
git config --system --unset credential.helper
//todo:clone
//存储密码,解决每次都要输入密码问题
git config --global credential.helper store
22、子仓库忽略本地修改强制更新
git submodule update --recursive -f
23、本地冲突强制清除git
git checkout . -f
git clean -d -fx
24、清除本地多余文件
git clean -fd
git clean -d -fx
25、同步子仓库
git submodule init
git submodule update --recursive -f
git submodule sync
26、修改git commit 提交信息
git commit --amend
//Esc->:->wq保存
27、查看远程log提交修改的文件
git log --statu
28、下载某个历史commit文件
29、更新项目中的子仓库链接
cd 子仓库路径
//拉取子仓库
git pull origin 子仓库分支
//退出子仓库
cd ../
//提交
git add XX
...
git push
30、拉取所有tag
git fetch --tag
31、继续修改commit内容
//修改保存退出
git commit --amend
32、commit之后继续add
//执行后会把最新一次add合并到上一次commit
git commit --amend
33、打tag
git tag XXX
//附带信息打tag
git tag -a XXX
git push origin XXX
//删除tag
git tag -d XXX
git push origin --delete XXX
34、删除tag
git tag -d XXX
35、撤销某个add文件
36、生成合并diff文件
git diff commit1 commit2 > XX.diff
git apply XX.diff
37、创建空白分支
git checkout --orphan 新分支名
git rm -rf . # 删除所有跟踪的文件(可选)
# 添加你的新文件
git add .
git commit -m "初始提交"
38、基于某个历史tag拉分支
git checkout -b cambricon GDv3_release_1.4.3 //创建并切换到该分支
git push -u origin cambricon //推送到远程仓
39、查找某个commit属于哪个分支
git branch -r --contains f9daa01135a5edc2ac2072f261ab2f742dd79f8b
查看linux文件size大小
stat lms_opcode_test.bin
merge合并冲突
git merge --continue
E:\NucleiStudio_IDE_202204-win64\NucleiStudio\toolchain\build-tools\bin;E:\NucleiStudio_IDE_202204-win64\NucleiStudio\toolchain\gcc\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;E:\CZHSoftware\MATLAB\R2017a\runtime\win64;E:\CZHSoftware\MATLAB\R2017a\bin;E:\Perforce\Helix-QAC-2022.3\common\bin;C:\Users\osr\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\osr\AppData\Local\Programs\Python\Python310\;C:\Users\osr\AppData\Local\Programs\Python\Python311\Scripts\;C:\Users\osr\AppData\Local\Programs\Python\Python311\;C:\Users\osr\AppData\Local\Microsoft\WindowsApps;E:\CZHSoftware\Microsoft VS Code\Microsoft VS Code\bin;E:\pycharm\PyCharm 2022.2.4\bin;;C:\Program Files (x86)\OpenSSL-Win32\bin;E:\cmake\cmake-3.25.0-windows-x86_64\bin;E:\CZHSoftware\texlive\2022\bin\win32;E:\软件安装包\plantuml\;E:\CZHSoftware\Java\jre-1.8\bin;E:\CZHSoftware\inkscape