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)

可视化

log

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

插件

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值