在VSCode中使用Git

因为写这个网站的时候用到了Git 也了解了很多东西 于是写了这篇文章讲述一些感受

一些配置?

首先 真的是需要安装 Git Graph 这个扩展插件的 因为这个插件真的几乎就可以很少的用命令行控制了 或者说几乎不用命令行控制了

对于Windows

安装Git for Windows

对于Linux

你会装git的对吧 包管理器就好

然后你只需要设置全局的email和name就几乎覆盖大部分的场景了
不会配置可以去搜索

时机

大部分的操作完全不需要Git Graph这个插件提供的功能
默认的Git管理已经很好用了

然后
需要Git Graph的地方就在于复杂的分支与合并上了

我的操作

分支内容同步

你现在分了一个支

现在 你在主分支做了一些更新
然后你想要同步过来
此时 就到了你用这个拓展功能的时候了

切换到你的分支
让主分支向你的分支执行合并
然后为合并添加你分支的标签
我选择create branch
输入你分支的名称
在窗口中选择Yes, replace... 此时你的分支就加入了主分支的内容了

也就相当于同步了一次内容
当然 可以随便用的 可以从一个位置同步到好几个分支

分支删除

有很多用完的分支
这时侯就到了删除分支的时候

当你不删除分支
就算分支合并了
它也会继续显示
所以这个时候你需要将它删掉
用原本页面 直接删除分支即可

当这个分支没有合并会提醒你

一些救急

刚刚commit了一次 checkout发现提交没了
此时就需要一些命令行的操作了

也可能是我不太熟悉 但是这个时候我是用命令行的

git reflog找到你消失的提交
一般都是XXXXXXX HEAD@{X}: commit: XXX这个样子
然后用git checkout XXXXXXX切换过去
然后去Git Graphcreate branch
输入你提交的分支名 也就是应该提交在哪
在窗口中选择Yes, replace...
完事了 就救回来了

不管也行 你重写然后重新提交也是可以的
他会自己帮你把这些失败的内容清除
30d有效期吧 好像

一些同步

同步所有git push -all

当你的执行出现

1
2
3
4
5
6
7
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'https://XXX/XXX/XXX'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

就代表远程库比你快
拉下来提交
不要用变基(rebase) 大概率会变得不幸
git pull origin main --no-rebase拉取
然后就完事或者处理冲突然后完事

再重新push就好了