1.环境搭建-4.Git使用-《计算机知识》

admin 2025-11-02 22:10:34 系统网络 来源:ZONE.CI 全球网 0 阅读模式
  • git版本管理
    • git常用操作
      • 撤销所有的git add文件
    • ssh key产生
    • git本地配置
    • git查看文件修改
      • git打包补丁
    • git远程服务器同步
      • git如何将分支与远程分支关联
      • pull操作
      • push操作
    • git基础使用
      • git 查看修改

    git版本管理

    注:新手可以先看 git基础使用章节, 因为使用频繁度,吧常用的命令放在了前边。

    git常用操作

    撤销所有的git add文件

    提示使用 git reset HEAD 来取消缓存区的修改。不添加参数,撤销所有缓存区的修改。

    ssh key产生

    1. # 产生ssh key
    2. sudo apt-get install openssh-server openssh-client git
    3. ssh-keygen -t rsa -C "[email protected]"
    4. cat ~/.ssh/id_rsa.pub

    git本地配置

    1. baiy@inno-NUC8i3BEH:pciutils-3.7.0$ cat ~/.gitignore
    2. *.a
    3. *.so
    4. doc/*
    5. a.out
    6. *.S
    7. *.i
    8. Thumbs.db
    9. ehthumbs.db
    10. Desktop.ini
    11. # Python:
    12. *.py[cod]
    13. *.so
    14. *.egg
    15. *.egg-info
    16. dist
    17. build
    18. tags
    19. # My configurations:
    20. db.ini
    21. deploy_key_rsa
    22. .cproject
    23. .project
    24. .settings
    25. *.kdev*
    26. cscope.*
    27. baiyang_build.sh
    28. #rootfs.cpio
    29. image.ub
    30. system.dtb
    31. .vscode
    32. kernel_fdt.its
    33. baiy@inno-NUC8i3BEH:pciutils-3.7.0$ cat ~/.gitconfig
    34. [core]
    35. excludesfile = /home/baiy/.gitignore
    36. editor = vim
    37. [user]
    38. name = baiyang
    39. email = [email protected]
    40. [alias]
    41. st = status
    42. ci = commit
    43. co = checkout
    44. br = branch
    45. lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
    46. [color]
    47. ui = true

    git查看文件修改

    在Linux内核中,我们代码经常出现:

    1. #include <linux/version.h>
    2. #if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
    3. // 旧版本代码
    4. #else
    5. // 新版本代码
    6. #endif

    那么问题来了,如何知道某个特性在哪个版本引入的?文件发生了什么修改?

    1. # 查看文件修改历史记录
    2. git log --pretty=oneline [filename]
    3. # git blame追溯一个指定文件的历史修改记录
    4. git blame [filename]
    5. # 图形界面查看某个文件修改历史记录
    6. gitk [filename]
    7. # tig工具*** 强烈推荐

    注:网上各种图形界面,经过测试,只有tig和gitk是速度最快得。gitk使用说明:gitk使用

    git打包补丁

    在使用中常遇到:整理当前版本与某个版本得修改,然后将补丁打上方法1:打补丁,简单,但会丢失合并信息,不推荐

    1. git diff sha1_1 sha1_2 > patch
    2. patch -p1 < ./patch

    方法2:cherry-pick

    1. git checkout -b tag_xxx xxx # 根据tag创建分支
    2. git cherry-pick sha1 # 当前分支合并一个提交
    3. git cherry-pick A^..B # 将[A,B]之间得提交合并

    git远程服务器同步

    git如何将分支与远程分支关联

    • 用 git checkout —track origin/branch_name 来在本地创建一个与branch_name同名分支跟踪远程分支。
    • 用 git push —set-upstream origin branch_name 来在远程创建一个与本地branch_name同名的分支并跟踪;

    **

    pull操作

    将远程指定分支 拉取到 本地指定分支上:git pull origin <远程分支名>:<本地分支名>将远程指定分支 拉取到 本地当前分支上:git pull origin <远程分支名>将与本地当前分支同名的远程分支 拉取到 本地当前分支上(需先关联远程分支)git pull origin**

    push操作

    将本地当前分支 推送到 远程指定分支上(注意:pull是远程在前本地在后,push相反):git push origin <本地分支名>:<远程分支名>将本地当前分支 推送到 与本地当前分支同名的远程分支上(注意:pull是远程在前本地在后,push相反):git push origin <本地分支名>将本地当前分支 推送到 与本地当前分支同名的远程分支上(需先关联远程分支)git push origin同样的,推荐使用第2种方式,git push origin <远程同名分支名>

    git基础使用

    1.官方文档

    • git 官网
    • 廖雪峰的git讲解
    • github官网

    git 查看修改

    git diff sha1 sha2 —name-only # 只查看某几个版本的文件变动

    git 忽视文件权限git config core.filemode false

    修改提交日志git commit —amend

    01-shell脚本介绍-《shell脚本》 系统网络

    01-shell脚本介绍-《shell脚本》

    一、shell脚本是什么二、为什么要学shell,而不是其他计算机语言三、学习这门课程的优势四、学了能干什么五、学习什么内容六、学习的技巧七、成长路径八、学习环
    评论:0   参与:  17