#!/bin/bash # git.sh ############################# 创建仓库初始化仓库 ########################### 创建远程仓库:192.168.4.53:3000 右上角的创建 注意初始化时候本地文件夹和仓库名一致 nano .gitignore # 写入屏蔽文件, git push -u origin master # 推送本地代码到远程,如果需要拉取代码: git pull ################### rv1126 sdk 初始化git 并且开始 编译 ################### wget http://73e.top/download/docker/rv11xx-camera/rv11xx.tar.gz tar -xzvf rv11xx.tar.gz -C ./ && cd rv1126 # 下载并解压sdk ,进入sdk 根目录,执行下面配置 sdk rm -rf .git && rm -rf chivalrous/.git # 删除原有的 .git 配置 #------ touch README.md && git init git add * # 将当前目录所有文件以增加的方式进行上传。 git add -A # 覆盖方式上传 git reset * # 清除暂存区内容 git commit -m "first commit" # 上传本次任务备注 # git config --global --add safe.directory /datadisk/git # 安全提示,将目录加权限 #----------------- 初始化 git 仓库 首次配置git -----------------# touch README.md git init git checkout -b main git add README.md git commit -m "first commit" git config --global user.email "root@eisc.cn" && git config --global user.name "wanyang" # 告诉git 我是谁; global [ˈɡləʊbl] 完整的 git config --global credential.helper store # 长期储存密码 git pull时候的登陆密码 # 执行完后查看%HOME%目录下的.gitconfig文件 # [krəˈ den ʃ l] 凭据; [ˈhel pə(r)] 助手 [s tɔː] 储存 git remote add origin http://192.168.122.80:3000/eisc/eisc.git # 配置仓库 #------------------- 分支管理 -----------------------# git checkout -b main # 创建分支 mian git branch # 查看当前分支 git branch -r # 列出所有分支 git checkout 'APP' # 切换分支到 APP git log --pretty=oneline # 查看修改版本 ID 和时间 git reset --hard 6b1915e5b2a7291e5a7706041942d17cb08c1245 # 恢复到之前的版本 git push origin APP --force # 覆盖远程分支 git add -A ; git commit -m "123" ; git push --set-upstream origin APP # -A 覆盖远程 * 追加 ; 提交内容到 APP 分支 #------------------- 暂存区 -----------------------# git rm -rf Objects # 删除暂存区中的文件夹 : 无意义,因为会删除本地文件夹 #-----------------------------------------------------------------# git remote add origin http://192.168.4.53:3000/mengxun/MXI_A01_Rv1126.git # 新增配置http 方式进行连接git 仓库 # git branch –set-upstream-to=origin/master master # 忽略此命令:重新为git pull添加跟踪分支即可。 # [rɪˈ məʊt] 远程 [ˈɒ rɪ dʒɪn] 起源 # rv1126 工程路径:http://192.168.4.53/mengxun/MXI_A01_Rv1126 git remote # 查看有哪些remote git remote remove origin # 删除 git push -u origin main # 上传分支 git fetch --all && git reset --hard origin/master && git pull # 覆盖本地并获取 # [fe tʃ] 提取; git branch --set-upstream-to=origin/master master # 当前分支没有跟踪信息。请指定您要变基到哪一个分支。 # [b rɑːn tʃ] 分支 [ˌʌpˈ s triː m] 上游 [ˈɒ rɪ dʒɪn] 起源,[ˈmɑːstə] 控制 git pull # 拉取最新代码 #-------------- 开始 rv1126 编译 --------------# ./build.sh lunch # 选择 :7. BoardConfig-ctk-ipc.mk ./envsetup.sh # 选择: 105. rockchip_rv11xx_ctk_ipc ./build.sh # 开始编译 #-------------- 解决报错:编译错误:libgpg-error-1.25 ------------# 编译包:libgpg-error 1.27 Building 错误 sudo find ./ -name mkstrtable.awk cd ~/rv1126/buildroot/output/rockchip_rv11xx_ctk_ipc/build/libgpg-error-1.27/src subl mkstrtable.awk # 修改文件 print "static const char " namespace "msgstr[] = "; 修改为: print "static const char " pkg_namespace "msgstr[] = "; sub (/\#.+/, ""); 修改为: sub (/#.+/, ""); print "static const int " namespace "msgidx[] ="; 修改为:print "static const int " pkg_namespace "msgidx[] ="; print namespace "msgidxof (int code)"; 修改为:print pkg_namespace "msgidxof (int code)"; rc下面的Makefile Makfile.in Makefile.am 需要修改一个名字,加上 gpk_ namespace 改为: pkg_namespace #------------------------- ./build.sh # 再次编译 #--------- 编译app 报错,删除cmake ,重新编译 # mkdir build ; cd build ; cmake .. # 手动添加编译,编译输出文件到 指定 build目录 subl ~/rv1126/app/CameraModule/CMakeLists.txt # 修改cmake 的编译gcc 为sdk 目录,如下: set(CMAKE_C_COMPILER ~/rv1126/buildroot/output/rockchip_rv11xx_ctk_ipc/host/bin/arm-linux-gnueabihf-gcc) set(CMAKE_CXX_COMPILER ~/rv1126/buildroot/output/rockchip_rv11xx_ctk_ipc/host/bin/arm-linux-gnueabihf-g++) 或者创建 git sdk 目录 软连接 到家目录 rv1126 ,如下: ln -s /git/rv11xx/ ~/rv1126 cd ~/rv1126/app/CameraModule/app/build && rm -rf * # 进入项目编译路径 cmake .. # 重新生成cmake 方法 rm -rf ~/rv1126/buildroot/output/rockchip_rv11xx_ctk_ipc/build/CameraModule-0.0.1/ # 删除输出目录,重新编译,会报错没有可执行文件进行安装。需要再次删除输出目录重新编译 # 注意:需要编译两次才能编过 # 参考:https://blog.csdn.net/QQ962662562/article/details/122363849 ######################################## rv1126 配置结束 ########################################## ##### 其他备注资料 ###### #-------- rv11xx 恢复文件 删除版本 ------# git reflog # 查看版本 git reset --hard 729fa0bab # 重置到之前的版本 git status # 查看git仓库的状态 git diff # 查看git修改了的内容 git log --pretty=oneline # 显示提交者和时间 git fetch --all && git reset --hard origin/master && git pull # 强制覆盖本地 #-------- 说明 -----——# $ git reset --hard HEAD #恢复当前版本,删除工作区和缓存区的修改 $ git reset --soft HEAD^ #恢复上一个版本,保留工作区,缓存区准备再次提交commit $ git reset --mixed HEAD #恢复当前版本,保留工作区,清空缓存区 $ git reset --hard 1094a #切换到特定版本号,并删除工作区和缓存区的修改 #场景1:修改仅存在工作区 $ git checkout -- readme.txt # 单文件 #场景2:修改存在暂存区、工作区 $ git reset HEAD readme.txt $ git checkout -- readme.txt #场景3:修改存在版本库、暂存区、工作区 $ git reset --hard 1094a 参考:https://blog.csdn.net/zeye5731/article/details/122261447 ################ 退回一个版本 ############### #-------- git 暂存区 删除 ----------# git rm -r --cached ./ # 删除暂存区文件,指定当前目录 git reset --hard HEAD # 恢复当前版本,删除工作区和缓存区的修改 git status -s # 查看看文件 #---------------------------------------------------# git push -u origin master # 推送本地代码到远程,如果需要拉取代码: git pull git push --set-upstream origin master # 当前master 没有对应上游分支,推送当前分支并建立与远程上游的跟踪 #------------- git 推送 -----------# git add * # 不覆盖性上传 git add -A # -A 覆盖性上传 git reset * # 清除暂存区内容 git commit -m "将本地当前目录所有文件添加到远程git仓库" git push origin master # 推送到 master 分支 git commit -m "new rv1126" # 重新推送 #------------ git 下载 ---------------# git clone http://192.168.4.53:3000/mengxun/MXI_A01_Rv1126.git # 远程仓库拉取到本地 # 忽略以下命令,报错。 git pull origin master # 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。 git pull origin master:brantest # 忽略此步骤:将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。 #------------------ git log 历史版本 -------------- git log # 查看历史的版本 windos 安装git :https://www.runoob.com/git/git-install-setup.html #------------- 屏蔽文件 --------# nano MXI_A01_Rv1126/.gitignore ./rv11xx/buildroot/output/ # 屏蔽当前文件夹下的目录 git add ./rv11xx/buildroot/output/111/1111.txt # 注意: 流程 1. 下载完整的sdk 进行编译 2. sdk 里面有很多 .gitignore 屏蔽文件,因此本地的这些文件会告诉git 哪些文件不需要上传。 #------------- git commit 本地版本删除 ------------# git rebase -i HEAD~1 # 选择上一个版本进行编辑:将 pick xxx commit1 中的 pick 改为 drop 保存后,自动删除 注意:将.git 不能删除其中有版本缓存用于对比,将其他项目文件删除,再将原来的文件复制进入 #---------------- 故障排查 ------------# You've added another git repository inside your current repository. 原因: 即在本地初始化的仓库(使用 git init的文件夹) 中的某一个文件夹,也含有 .git 文件 。 解决: 删除子文件夹里的.git文件,或者重命名为其他名字。然后重新add、commit、push # 提示:You've added another git repository inside your current repository. # # 提示:您已经在当前存储库中添加了另一个git存储库。 解答:删除当前目录的 .git 隐藏文件,重新添加 。 说明:git 包含版本备份。 BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y