飞道软件工厂

插件式开发

代码版本控制

其实就是Git,也可能还会有人在用svn和sourcesafe,但我推荐大家使用git。

安装/配置

一般情况下,Linux系统一般都已经自带,无需安装,如需安装,Debian/Ubuntu请使用以下命令

sudo apt install -y git-all ssh

Windows请下载安装包后自行按提示安装。

配置git用户名和邮箱

这里配置的用户名和邮箱都不作为验证用,用户名推荐使用中文。在查找代码历史时可以更方便查出作者是谁,不推荐使用偏僻的英文名或其它难以分辨的用户名。

git config --global user.email "张三的邮箱地址"
git config --global user.name "张三"

公钥的使用

个人设置中设置个人ssh公钥(如果是自建的git仓库或gitee,请联系你的管理员),之后使用ssh方式clone代码后再提交代码时不需重复输入用户名和密码。

  1. 生成生成ssh公钥及私钥

     ssh-keygen -t rsa
    

    一路回车即可,如果遇到文件已经存在的提示,可以选择覆盖原有文件,如下

     Generating public/private rsa key pair.
     Enter file in which to save the key (/home/feidao/.ssh/id_rsa):
     /home/feidao/.ssh/id_rsa already exists.
     Overwrite (y/n)?
    

    输入y并回车

  2. 将生成的文件

    • windows c:/用户/个人用户名/.ssh/id_rsa.pub
    • linux ~/.ssh/id_rsa.pub

    中的内容全部复制到个人设置即可

    提示:

    可以通过cat命令输出这个文件的内容(windows请在Git Bash中执行该命令)

     cat ~/.ssh/id_rsa.pub
    

    注意:如果是通过文本编辑器打开的该文件,请注意一定不要误修改这个文件,如果你修改过,请按上面的步骤重新再次生成一次。

  3. 测试

     ssh -T git@github.com
    

    如果配置成功,命令行会提示Hi 张三! You've successfully authenticated, but GitHub does not provide shell access.,说明已经配置成功。

    如果执行以上命令后有权限错误,执行以下命令修复

     ssh-add
    

    再次运行测试命令,应该就成功了,如果还是有问题,请联系 管理员协助。至此,系统初始化完成。

码云

是一个国产的github,由于众所周知的原因,使用它比github速度快一些。个人或是小团队可以尝试。如果团队较大且,可以使用自建git仓库(推荐gitlab)。

派生(fork)

此为github上的操作,它的意思是:将别人的项目(开源的或是该项目管理员分配有权限的)派生一个过来到你自己的用户名下,这个项目就成为你自己的一个项目,因为是你自己名下的项目,所以,你具有这个项目的所有权限,以下例子中,如果你没有对应的项目可用,可以Fork这个项目到你自己名下,再进行以下的git实操。

克隆(clone)

  1. 在Github上打开任一个项目页面,点击绿色的Code按钮,用鼠标选择ssh页签,点击复制按钮
  2. 在终端上执行以下命令切换到项目目录

     cd ~/git
    
  3. 在终端执行以下命令克隆代码,以下命令需要删除掉xxx,粘贴第一步复制的git地址到xxx的位置

     cd ~/git
     git clone xxx
    
  4. 查看已克隆的项目目录

     ls
    
  5. 使用以下命令切换到项目目录,假设上一步查看已克隆到本地的目录名为yyy,以下命令需要删除掉yyy,替换为上一步克隆到本地的项目目录名

     cd ~/git/yyy
    
  6. 在终端执行以下命令下载项目依赖

     yarn
    
  7. 使用vscode打开项目目录

提交(commit)

  1. 在项目中进行代码开发,并保存修改
  2. 在vscode中按ctrl+shift+g或者在左侧第三个图标上点击,切换到代码管理面板,在该面板下面的文件改变列表中,检查一下有没有误修改不相关的文件,如果有这类文件,鼠标放到该文件上,会有撤销按钮出现,点击该按钮,在弹出的提示框中确认,还原该文件
  3. 在列表上方的消息区填写要提交的消息内容
  4. ctrl+sctrl+enter提交修改,首次进行该操作vscode会弹出提示框,选择总是(Always)即可完成提交

拉取(pull)

在克隆代码之后,可能会有人向服务器推送代码,这时就需要将服务器上的代码拉取到本地,具体操作为

  1. 在终端中使用cd命令切换到项目目录下,如项目名称为yyy,在终端上使用以下命令切换到该项目目录下

     cd ~/git/yyy
    
  2. 在终端上执行拉取命令

     git pull
    

  1. 有时候本地文件有修改而未提交,刚好这些文件有些文件与服务器上的文件有冲突,是不允许拉取的,在拉取的时候会有错误提示
  2. 有时候拉取完代码之后部分已提交的文件与服务器上的文件有冲突,需要手动解决完冲突后再进行提交合并冲突的操作

推送(push)

本地提交后,需要使用推送操作将本地提交推送到服务器,具体操作如下

  1. 在终端中使用cd命令切换到项目目录下,如项目名称为yyy,在终端上使用以下命令切换到该项目目录下

     cd ~/git/yyy
    
  2. 在终端上执行推送命令

     git push
    

同步(sync)

在vscode中,可以通过界面上的同步按钮进行代码的同步操作,同步操作包含了pull和push操作。

冲突

我们经常会遇到代码有冲突的情况,这通常会比较棘手。什么是冲突呢?比如张三和李四同时修改了同一个文件的某个相同的部分,张三先将修改的代码提交(commit)并推送(push)到服务器了,这个时候李四也修改了本地的代码,并且也提交(commit)了,这时候李四再拉取代码的时候就会提示有冲突并且无法自动合并,需要手动解决冲突