• git使用


    git使用

    总结一下自己遇到的各种场景git的使用,不间断更新。

    基本使用

    clone

    使用git clone命令将远程仓库拷贝一份到本地

    • 下载他人的代码:git clone git@github.com:torvalds/linux.git,此时不能向这个仓库提交修改,相当于只读,在本地使用or测试学习。可以通过git pull强制同步远程仓库的更新。
    • 如果不关心这个仓库的历史,可以加上--depth=x,只下载最后x个版本。
    • 下载自己的仓库,此时应该在本地的git中配置好了相关信息并且将SSH公钥上传至github。这时可以对这个仓库进行更新操作。

    pull,push,fetch

    • git push将本地commit同步到远程。
      • --allpush all branch
      • -f强制推送,当远程分支与本地分支冲突时。(例如:在本地回滚了已经在远程仓库中的commit)
    • git pull从远程拉取更新,直接刷新到工作区
    • git fetch从远程拉取更新到origin/下,自己rebase or merge。
      在这里插入图片描述

    整理commit

    压缩commit

    https://blog.csdn.net/weixin_51290195/article/details/124619004

    TODO

    rebase

    多人协作时,定期rebase。
    TODO

    将push-remote与fetch-remote分离

    https://stackoverflow.com/questions/31747072/will-remote-url-for-fetch-and-push-be-different

    场景:

    1. 在给开源仓库做贡献时,本地push到自己的fork仓库中,但是fetch同步源仓库的更新。
    2. 做Lab,想push到自己的github仓库中,同时fetch拉取源仓库的更新。

    此时,可以设置个人仓库为push远程地址,而设置主仓库为fetch远程地址:

    user@ubuntu:~/Labs/xv6-labs-2023$ git remote -v
    origin  git://g.csail.mit.edu/xv6-labs-2023 (fetch)
    origin  git://g.csail.mit.edu/xv6-labs-2023 (push)
    user@ubuntu:~/Labs/xv6-labs-2023$ git remote set-url --add --push origin  git@github.com:USERNAME/xv6-labs-2023.git
    user@ubuntu:~/Labs/xv6-labs-2023$ git remote -v
    origin  git://g.csail.mit.edu/xv6-labs-2023 (fetch)
    origin  git@github.com:USERNAME/xv6-labs-2023.git (push)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    可视化

    log

    git log --graph --pretty=oneline --abbrev-commit在终端中查看当前分支情况,
    git log --graph --pretty=oneline --abbrev-commit --all在终端中查看所有分支情况。

    插件

    vscode插件不是免费的。
    Jetb系自带,但是软件本身不是免费的。

  • 相关阅读:
    通过浏览器,将webp格式图片转jpg格式
    怎样理解伦敦金交易的点差
    STM32 CRC计算单元(循环冗余校验)
    【Vue2.x源码系列08】Diff算法原理
    【LeetCode】136. 只出现一次的数字
    智能算法之模拟退火算法
    第十七节 huggingface的trainner的断点续训的Demo(resume)
    计算机、通信方向学习考证经验分享
    【JUC】八、阻塞队列
    less与sass
  • 原文地址:https://blog.csdn.net/sancpp/article/details/133948786