GIT的基本使用

Posted by Start Bootstrap on October 28, 2017
  1. git生成SSH-KEY
    ssh-keygen -t rsa -C "你的名称"
    

    生成的ssh-key可以复制到网站账户上面,这样就可以通过ssh的方式提交代码,也可以复制到linux系统上面,这样就可以用ssh方式登录linux,端口号为443,ssh-key就是一种验证身份的手段

  2. 从远程地址克隆代码
    git clone 你的地址
    
  3. 初始本地git环境
    git init
    

    如果是本地项目,需要先初始化,添加远程地址,这样你才能进行add->commit->push

  4. 添加远程地址
    git remote add origin 你的地址
    

    这样你才有目标地址,把自己的代码提交上去或者拉取代码下来

  5. 创建本地分支
    git checkout -b 分支名称
    
  6. 创建远程分支 远程分支不像本地分支能够直接通过命令创建,GitHub和Coding上面貌似也没有操作创建远程分支,因此我们需要通过push操作创建远程分支
    git push origin 本地分支名称:远程分支名称
    

    本地分支名称通常就是当前分支的名称,远程分支名称就是你想创建的分支名称

  7. 如何解决conflict 当你通过git pull命令从远程拉取代码,如果分支名称后面多了|merge,就需要修改对应的文件(把冲突的部分代码修正),然后add->commit->push
  8. git reset的使用 需要和git log/git reflog配合使用,先获取commitId,然后进行git reset
    git reset --mixed commitId
    

    mixed是git reset的默认选项,执行此操作本地代码不会改变,缓存区以及本地仓库的提交将会清空

    git reset --hard commitId
    

    执行此操作本地代码回滚,缓存区以及本地仓库提交都会清空

    git reset --soft commitId
    

    执行此操作本地代码不会改变,本地仓库的提交将会清空,转到缓存区

  9. git checkout恢复文件 将文件恢复到远程仓库的样子
  10. git merge
    git merge --no-ff branch-name
    

    将branch-name的分支合并到当前分支。默认情况下,Git执行”快进式合并”(fast-farward merge),会直接将Master分支指向Develop分支。使用–no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。

  11. git rebase 为了维持树的清洁,保持为一条直线,和merge区分,merge是两条线合并新建一个节点,rebase是直接跳到目标后
    git fetch origin master
    git rebase origin/master
    git push
    

    拒绝使用push -f,参照https://segmentfault.com/q/1010000000430041