总结一下自己遇到的各种场景git的使用,不间断更新。
clone使用git clone命令将远程仓库拷贝一份到本地
git clone git@github.com:torvalds/linux.git,此时不能向这个仓库提交修改,相当于只读,在本地使用or测试学习。可以通过git pull强制同步远程仓库的更新。--depth=x,只下载最后x个版本。pull,push,fetchgit push将本地commit同步到远程。
--allpush all branch-f强制推送,当远程分支与本地分支冲突时。(例如:在本地回滚了已经在远程仓库中的commit)git pull从远程拉取更新,直接刷新到工作区。git fetch从远程拉取更新到origin/下,自己rebase or merge。
https://blog.csdn.net/weixin_51290195/article/details/124619004
TODO
多人协作时,定期rebase。
TODO
https://stackoverflow.com/questions/31747072/will-remote-url-for-fetch-and-push-be-different
场景:
此时,可以设置个人仓库为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)
loggit log --graph --pretty=oneline --abbrev-commit在终端中查看当前分支情况,
git log --graph --pretty=oneline --abbrev-commit --all在终端中查看所有分支情况。
vscode插件不是免费的。
Jetb系自带,但是软件本身不是免费的。