Git的配置流程&vscode多人管理同一项目
Author——winly
一、git的安装与配置
1.下载安装git
打开git官网选择下载,下载完成后双击安装包进行安装。选择合适的路径进行安装,在对安装进行配置时,在choosing the default editor used by git时,选择use vscode,剩下的全部默认就可以了
2.配置用户名与邮箱
在github中创建账号
win+R输入cmd,在命令行里输入git config --global user.name"你的github名字"
然后git config --global user.email"你的github邮箱"
如何查看自己是否配置成功了?
在命令行窗口输入git config --global user.name
如果返回了你的github用户名,则配置成功
同理git config --global user.email,返回邮箱说明配置成功
如果没有返回值,即意味着配置失败,应该怎么做呢
找到C盘->用户->你的用户名->.gitconfig文件,用记事本打开
然后添加以下内容
[user]
name=你的github用户名
email=你的邮箱
保存更改即可
然后再次打开命令行输入git config --global user.name,这时你应该就能看到你配置的用户名了
二、vscode多人管理同一项目
注:如果下载/上传速度慢,则可能是因为没有设置代理,搜索教程设置代理即可
也可以选择**上网
1.项目负责人(仓库建立方)
在vscode中打开你们合作的项目文件夹(根目录下应包含.gitignore文件),左侧工具栏选择源代码管理(source control),选择初始化仓库,即可在本地创建一个代码仓库,记录修改记录。每次修改后都会显示修改内容,输入名称后点击提交就可以记录修改(相当于建立一个存档)。然后想要推送到github远程仓库有两种方法,第一种是先在github创建好仓库,然后在vscode里面选择发布分支(注:只有提交后才会显示,提交时务必输入名称,否则无法提交)。第二种是直接选择发布分支,然后选择私有或公开即可,此时仓库默认名称为文件夹名称。
如果想要发布到其他仓库(应该必须是空仓库?),在vscode的源代码管理中点击存储库项目右侧的三个点->远程->添加远程存储库->从github中选择,然后等待扫描完成,选择对应的仓库,起个名字即可。
多人协作
负责人在github仓库中选择settings,选择collaborators,点击add people,输入对应人的邮箱发送邀请,对应人在自己的github通知中同意邀请即可。
2.组员
组员接收邀请后就可以看到对应的仓库了。但是组员没有办法在自己的仓库中看到该仓库,因为仓库是组长私有的。那么组员怎么看到仓库呢,只需要打开设置,在左边栏里找到repositories即可看到和其他人相关的仓库。
组员在vscode里面管理代码(前提是绑定github账号)
组员打开vscode,在源代码管理工具栏选择克隆仓库,选择从github克隆,然后即可看到仓库,其中前缀是自己名字的是自己的仓库,前缀是负责人名字的就是负责人的仓库。点击对应的仓库,选择一个位置存储即可对项目进行管理。
组员更改后进行提交,然后上传到仓库。
其他人只需要点击图表里面的pull即可把最新的代码拉取下来。
3.分支的用法
为什么要用分支?
如果不用分支,每个人修改后的代码直接上传到main分支中,会造成各种冲突。例如:A从仓库pull了代码,对某一个文件进行了修改,如果B也修改了并且push,此时Apush时就会出现冲突,如果两人修改的文件不同还好,可以合并后再push。如果改了同一个文件,会有可能发生A不懂B修改内容的问题,导致最后的文件有问题。想象一个嵌入式应用场景:你们有多个人,分别负责不同的外设,但如果你们想要进行测试,就必然要对main.c文件进行修改,如果都上传到main分支中,必然会引发乱套。另一个场景:你们团队已经写好了能跑通的代码,但后期想要升级,直接修改main分支,如果升级的代码跑不通,想要找到原来的版本就比较困难。
分支是如何解决问题的
创建一个分支,相当于完全独立地进行改动,当自己把需要的部分完全完成时,再发送合并请求,该部分的作者与其他人共同进行合并。还是上面那个嵌入式场景,每个人都在自己独立的分支中修改上传然后push,互不影响。只有最后都完成了才商量着进行合并。由于没有对main分支进行修改,自然main分支就是能跑的代码,也就不会出现上述第二个情境的问题了。
分支的使用方法
负责人(仓库私有者)设置规则,强制只能修改自己的分支
在仓库的设置中,选择Rules,点击Rulesets,点击New ruleset,选择第一个new branch ruleset,起个名字,然后将状态设置为active,在下面Target中点击add target,直接选择include default branch即可,在下面的branch rules里面,我们选择:require a pull request before merging(意思就是在合并到分支之前需要发送请求),然后再在required approvals中选择需要审查的人数,意思就是需要多少个人审查同意后才能合并。完成上述操作后点击creat就能创建规则了。不过这个规则在私有仓库中是收费的,改为公有才可以,在设置的general中翻到最下面选择public即可
做完上述操作后,就无法直接将代码上传到main分支中
分支的创建方法
成员点击在vscode左下角的main,选择创建新分支,起个名字即可。
成员就可以在自己的分支中进行自由的修改提交push了。在github仓库页面,也就能看到多个分支了。等到完全完成后,我们就可以在github中进行仓库合并请求了
但是有一个问题,最后在合并时是在github中完成的,如果出现冲突,就要在github中修改,这很不方便。于是我们可以在vscode中下载github pull requests插件,使用方法较简单,这里不赘述了。
三、这里再说一种使用keil的协作方式
众所周知,使用vscode对keil工程进行编写必须用到keil assistant插件,这个插件可以自动帮我们编写配置文件,以发挥vscode的语法高亮,代码提示等功能。但使用这个插件时,在资源管理器中打开的是keil特有的uvprojx文件,里面不包含源代码,必须通过插件才能打开源代码,这就造成了一些团队协作上的困难。
解决方法
可以通过插件打开工程文件,此时插件会自动生成一个.vscode文件夹,我们在工程文件夹中,将这个配置文件夹移动到根目录中,再用vscode打开工程文件夹,就可以解决问题了。
浙公网安备 33010602011771号