zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    BZOJ 1977: [BeiJing2010组队]次小生成树 Tree( MST + 树链剖分 + RMQ )
    BZOJ 2134: 单选错位( 期望 )
    BZOJ 1030: [JSOI2007]文本生成器( AC自动机 + dp )
    BZOJ 2599: [IOI2011]Race( 点分治 )
    BZOJ 3238: [Ahoi2013]差异( 后缀数组 + 单调栈 )
    ZOJ3732 Graph Reconstruction Havel-Hakimi定理
    HDU5653 Bomber Man wants to bomb an Array 简单DP
    HDU 5651 xiaoxin juju needs help 水题一发
    HDU 5652 India and China Origins 并查集
    HDU4725 The Shortest Path in Nya Graph dij
  • 原文地址:https://www.cnblogs.com/yangluping/p/6195173.html
Copyright © 2011-2022 走看看