• github命令行实用操作


    github的操作并不那么简单,现在只从实用的角度进行简单介绍,包括流程和命令。

    先说一下新建和提交:

    1,你得有github的账号,然后自己本地安装github的命令行工具,这些网上一大堆,随便找找,我要描述的只是管理代码。

    2,在github账号里新建一个代码仓库(Create a new repository),即服务器代码仓库,此时仓库是空的。

    3,在本地新建文件夹,最好用英文目录,然后用git bash进入到目录:git init 进行初始化,然后git clone git@github.com:xxx/scj.git(你的远程仓库地址),此时由于你的代码库是空的,可能会报warning。

    4,在本地目录下放入你的代码,比如1.txt,此时你可以用git status去看,会显示新的改动。

    5,git add 1.txt 此操作更新你要commit到本地仓库的文件,然后git commit,此时会要求你填写你的改动日志,填写了日志之后,就把代码提交到了本地仓库。

    6,假如你确定要把代码提交到远程仓库,就git push,如果是第一次,可能要求你填写远程目录和本地的 upstream

    git remote add origin git@github.com:xxx/scj.git
    git push -u origin master
    到此为止,新建和提交就完成了。
     
    下面是开发的一些小方法,也是git好用的一些方法:
    1,我们管理代码时,一般要新建几个分支,好处在于可以在不同的分支进行开发。什么意思呢?就是说如果你在master开发(一般git第一次新建的都是master主干),开发到了一定阶段,需要code review,别人在看你master的代码,还没有确定是否可以push到远程仓库,此时如果你要在master上开发,那么又是新代码了,明显不合适,所以你可以另建一个branch 分支。
    2.git branch new_fix,创建新的分支,git checkout new_fix切换到new_fix,new_fix分支有一份代码的复制品。假如你在new_fix修改了代码,你在git bash里边切换new_fix和master,你会看到你的代码编辑器里边的代码会随着你的分支切换而变化,是不是很神奇?
    3.此时,别人可以评审你的master代码,你可以在new_fix进行开发,不影响你正在评审的代码,如果别人评审完了,你可以从master分支将代码git push到远程仓库(涉及到解决冲突,下面说)。
    4.这时你新开发的还在new_fix分支,如果你确定你的新开发没有问题了,可以在master上git merge new_fix,将new_fix的代码合并到master上来,当然,也可能会有冲突,解决就好,然后评审,提交。
    5.如果你的new_fix已经merge到master了,那么就可以把new_fix分支删除,下次需要的时候再建就行了。
     
    解决冲突:
    在你git push的时候,你有可能会发现失败,原因是别人修改了远程仓库的代码,你如果这时提交你的,明显你们的代码是不同步的,所以需要解决冲突。
    当然,最好的方法是分模块,大家各自开发各自的模块,这样冲突也好解决,因为各不相干,冲突的都是交叉部分。如果大家都在修改一个模块,那冲突太多,根本没办法解决。
    我一般是这样:
    1,先git stash,把自己本地的代码缓存起来,然后git pull,这时会把远程仓库的代码拉下来。
    2,git stash pop,将自己的代码再pop出来,这时就会显示冲突,你需要一个个去fix,你决定冲突的部分是应该怎样的。
    3,解决了冲突之后,你就可以git push,把代码提交到远程仓库上了。
     
    merge的时候,解决冲突的方式类似
     
    这就是我认为比较实用的git使用,同志们看一下。

     

    送你几颗比特币玩玩:

    https://www.coincola.app/acts/red-packet?type=invitation&packet_id=gBbVudr7GwuTF3r71ihUq8vDiuiNdAgL&lang=zh-CN

     

  • 相关阅读:
    字节序列高低端问题
    简单的进制转换
    网页中如何调用WIN本地程序
    获取CAN报文并解析
    异步通信服务选型
    PostgreSQL 更新JSON,JSONB字段
    js,Date的toJSON方法时间和当地时间不一致如何处理
    js中字符串的替换 replace方法
    百度富文本编辑器umeditor,ueditor字体修改无效的问题
    python 3 基础之类和对象的创建、面向对象的三大特性
  • 原文地址:https://www.cnblogs.com/yangluping/p/6195173.html
Copyright © 2020-2023  润新知