vscode怎么使用git

0 配置:多项目 多git账号密码,无需每个项目每次设置(以vscode为例)

配置:多项目 多git账号密码,无需每个项目每次设置(以vscode为例)_git配置多个用户名和密码-CSDN博客

git config --global user.name "用户名" 
git config --global user.email "用户邮箱"

vsCode git 修改、清空、重置、保存账号名密码

1、保存账号名密码,之后拉取代码都不用重新输入:

git config --global credential.helper store

2、查看git用户名:

git config user.name


3、清空所有的用户名和密码:

git config --system --unset credential.helper


4、清楚缓存的用户名和密码:

git credential-manager uninstall


5、更改全局的用户名:

git config --global user.name "username"


6、更改全局的邮箱:

git config --global user.email "eamil@qq.com"

1、clone代码库


在vscode中输入快捷键“Ctrl + Shift + P”打开vscode的命令框,在框中输入“git clone”并回车,然后在文本框中输入git代码库的地址

(mac 是shift+ command+p)

2、修改clone下来的代码文件,并查看更改的文件列表


代码文件有任意修改后,在vscode左边git图标会显示有多少个文件的改动,点击git图标后,进入到git功能区,会显示改动文件的列表

u是新增,m是修改

3、查看和比较修改和前一版本有什么不同

双击文件
在上一步改动文件列表中,双击改动过的文件,然后会显示diff视图,显示有哪些改动,会把有不同的部分高亮显示

4、添加文件到暂存区获取取消更改

存放到暂存区
在改动文件列表中,鼠标悬停在某个文件上,右边会出现“discard change”(撤销更改)和“Stage Change”(暂存更改)的图标,我们可以根据需要选择

5、commit代码


在第4步中,把代码选择“Stage Change”(暂存更改)后,就可以点击提交图标(如下图所示),把改动的文件提交到本地代码库

6、push代码


在第5步中,commit代码之后,点击commit图标旁边的“…”图标,会弹出一个大的菜单,选择其中的“Push”(提交)把代码提交到远程代码库

7、创建branch


7.1 点击左下角的分支图标,如下图所示,会弹出一个对话框输入要创建新的branch的名字

最上面有两个分支创建操作,第一个是从当前分支创建一个新分支,输入新分支名即可创建。第二个是从指定分支创建一个新分支,需要先选取从哪个分支创建,然后输入新分支名即可

方式1: 从当前分支(本地分支)创建分支

  1. 在弹出的分支面板中,点击主分支(通常是mastermain)。
  2. 在弹出的菜单中,选择“创建分支”选项。
  3. 输入新分支的名称,并选择从哪个分支创建新分支(选择主分支)。
  4. 点击确认按钮,新分支将被创建并自动切换到该分支。
  5. 推送到远程

方式2 : 从远程创建分支

点击分支按钮,选择 从...创建分支


选择从远程develop(origin/develop)分支创建


为新分支起名

3. 同步 feature 分支到远程仓库
新建分支(如:feature_1)为本地分支,需要推送到服务器上的远程仓库中。

点击 发布 Branch 按钮,推送本地分支到远程仓库。

8查看远程仓库分支状态


新增分支应该已经加入远程仓库中。

9 切换分支

git branch

如果这个分支没有变动,只会显示一个分支名,如果有修改,分支名的右上角会有一个 *,就像这样:

要想切换分支,需要点击这个分支名称,就会出现所有分支的列表:

可以看到,这里面有两类分支,一类是带分支图标的,另一类是带云图标的。前者表示本地分支,后者表示远程分支。点击本地分支,就会切换到对应的分支,点击远程分支,就会远程分支同步到本地,并在本地创建一个同名的分支。

如果想重命名分支,可以执行以下操作:

点击之后,输入新的分支名即可。

如果分支不需要了,也可以删除分支,不过需要注意,如果想删除某个分支,需要先切换到别的分支。

点击删除分支,然后选择要删除的分支即可。

10 pull代码

  • 点击 同步 按钮,从远程仓库拉取更新

在这里插入图片描述

或者:

11 merge代码

如果想要合并分支,可以执行以下操作:

点击之后,需要选择从哪个分支向当前分支进行合并,选择被合并的分分支即可。

12 解决冲突

12.1 先提交 在pull

1 先提交   (add,commit)

2 git pull 

3 解决冲突

4 重新提交

报错:

You have not concluded your merge(MERGE HEAD exists).hint: Please, commit your changes befo-CSDN博客

12.2 先pull

1 git pull 

(如果pull也pull不下来提示冲突的话,可以先通过git stash暂存下来,然后再pull拉取,然后git  stash pop,取出原来写的)

2 解决冲突

3 提交

说一下多人操作同一个文件,如果出现冲突该如何解决?
答:当遇到多人协作修改同一个文件时出现冲突,我先将远程文件先git pull下来,手动修改冲突代码后,再git add ,git commit,git push再上传到远程仓库。如果pull也pull不下来提示冲突的话,可以先通过git stash暂存下来,然后再pull拉取,然后git  stash pop,取出原来写的,手动修改,然后提交
 

12.3 拉代码(git pull)拉不下来

git pull 报错Please commit your changes or stash them before you merge

1、问题显示
用git pull来更新代码的时候,遇到了下面的问题:

error: Your local changes to the following files would be overwritten by merge:
    xxx/xxx/xxx.java
Please, commit your changes or stash them before you can merge.
Aborting


2、问题原因
出现这个问题的原因是其他人修改了xxx.java并提交到版本库中去了,而你本地也修改了xxx.java,这时候你进行git pull操作就好出现冲突了,解决方法,在上面的提示中也说的很明确了。

3、解决办法

通过git stash ---- 通常用这种方法

git stash
git pull
git stash pop


通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。

出现冲突:

解决冲突后, git add .commit push

--------------------------------------

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
 

12.3 ​git pull 提示 hint: You can replace “git config“ with “git config --global“ to set a default​

hint: You can replace "git config" with "git config --global" to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation. fatal: Need to specify how to reconcile divergent branches.
解决方法:

终端运行:git config pull.rebase false
 

13 git stash

可以看到,无论是更改中,还是在暂存的更改中,都会有一个类似于撤回的按钮,比撤回按钮多了一个➕,这个按钮就是 stash 的意思,也就是把当前的修改暂存起来,然后在需要的时候取出来暂存的内容,以继续进行修改。当我们在开发一个需求过程中,需要紧急去别的分支进行操作,就可以先把已经更改的内容暂存起来,等再回来开发的时候,取出来这些内容,继续开发即可。

这里我们将暂存的更改和更改都先暂存起来。可以选择弹出最新的(最后一次暂存)暂存,也可以选择性弹出暂存:

可以看到,VS Code 支持储藏暂存、应用暂存、弹出暂存、删除暂存。这里不再一一介绍。

值的注意是,在源代码管理边栏中,也可以点击最下面的 STASHES 来查看已暂存的文件:

这里,可以进行应用暂存、删除暂存、修改暂存名称等操作:

git的基本操作流程已经介绍,vscode支持的更多命令,可以在vscode中输入快捷键“Ctrl + Shift + P”,然后输入“git”关键字,会列出vscode所支持的所有git命令

小知识点:

在这里插入图片描述

在这里插入图片描述

14 插件

VSCode 查看git 提交历史记录和代码作者 插件

VS Code 可以说非常强大,源于它的一些非常强大的插件。它集成了好多非常有用的功能,比如,查看git 提交代码历史记录,直接在IDE中就可以完成。

直接在VS Code中点击插件图标,然后搜索Git history 和Gitlens,然后点击install ,即可,完了之后重启编辑器。

GitLens 可以增强 VSCode 内置 Git 的功能。例如 commits 搜索,历史记录和显示的代码作者身份具体功能可以查看Feature list

Git History  - 显示提交历史记录的美丽图表等等

效果是你鼠标点击哪一行代码,后面都会提示who, when, do what,鼠标悬浮提示上回显示作者,版本,时间,点击作者直接可以发邮件,非常方便。

Git Graph 查看分支

14.1 今天安装插件时一直报错,

右下角弹窗提示手动安装,查看日志发现错误原因是

net::ERR_INVALID_ARGUMENT,找了好久都没找到答案,最后想到可能是之前改了设置里的http.proxyAuthorization的值导致的,于是改回null解决了这个问题。这个问题不仅会导致插件安装/升级出错,还会导致检查版本更新出错

vscode检查升级一直报错 net::ERR_INVALID_ARGUMENT
直到今天才找到解决方法

将设置里的http.proxyAuthorization修改为null就好了

"http.proxyAuthorization": null,
// "http.proxyAuthorization": "false", // 错误的值
// "http.proxyAuthorization": "off", // 错误的值

我的这个配置项的值为"false", 看别人说还可能为"off", 这两种都不对, 正确的是null

已知这个问题可能导致

  1. 检查升级报错
    net::ERR_INVALID_ARGUMENT
  2. 安装/升级插件报错
    net::ERR_INVALID_ARGUMENT
  3. 使用内置的同步配置报错
    Error while turning on Settings Sync. Please check logs for more details.
    Request failed https://vscode-sync.trafficmanager.net/v1/manifest

参考:

VS Code 中使用Git实践,学会了效率翻倍! - 知乎

 --------------------------

Git - VSCode 使用手册_vscode 配置git插件-CSDN博客

使用git命令与vscode从零开始对远程代码仓库进行拉取、提交、合并、推送分支等操作及在项目中的实践_vscode git拉取代码-CSDN博客