飞道科技

飞道科技文档总汇

Git 基本操作

安装/配置

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

sudo apt install -y git-all ssh

配置git用户名和邮箱

这里配置的用户名和邮箱都不作为验证用,不必跟gitee上一致,但建议最好保持一致

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

Configuration(SSH and GPG keys)

个人设置中设置个人ssh公钥,之后使用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@gitee.com
    

    如果配置成功,命令行会提示Welcome to Gitee.com, 张三!,说明已经配置成功。

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

     ssh-add
    

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

码云

注册并登陆码云,接受管理员邀请进入项目。

派生(fork)

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

克隆(clone)

  1. 在码云上打开项目页面,点击桔黄色的克隆/下载(clone/download)按钮,用鼠标选择ssh页签,点击复制(copy)按钮
  2. 在终端上执行以下命令切换到项目目录

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

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

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

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

     yarn
    
  7. 使用vscode打开项目

提交(commit)

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

拉取(pull)

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

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

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

     git pull
    

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

推送(push)

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

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

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

     git push
    

同步(sync)

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

冲突

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

问题

若有其它问题,请及时寻求帮助