zoukankan      html  css  js  c++  java
  • git基本配置及使用

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。

    git 命令

    设置git

    • 基本配置
    $ git config --global user.name "charblus"
    $ git config --global user.email "charblus7582@gmail.com"
    
    
    • 生成ssh 密钥
    1. 查看是否已经有了ssh密钥:cd ~/.ssh ; 如果没有密钥则不会有此文件夹,有则备份删除
    2. 生成密钥 (email@email.com是github的账号,即上面的email)
    $ ssh-keygen -t rsa -C “email@email.com”
    

    按3个回车,密码为空; 如果不执行第一步或没有删除:第一个回车后会出现coverage 提示你是否覆盖文件 yes/no;最后得到了两个文件:id_rsa和id_rsa.pub

    git remote

     git remote 不带参数,列出已经存在的远程分支
     git remote -v | --verbose 列出详细信息,在每一个名字后面列出其远程url
     git remote add origin ssh://***.git   添加远程仓库
     git remote show origin  显示远程信息
    

    git-flow

    git-flow 是一个 git 扩展集,按 Vincent Driessen 的分支模型提供高层次的库操作
    git-flow 备忘清单

    git merge 与 git rebase

    • git merge 和 git rebase 都是将远程分支与本地分支合并的一种方法,git merge 会生成一个新的节点,例如A和B都位于同一个HEAD,A提交了2个commit C1和C2,B 提交了2个commit C3和C4,git merge的结果是在C3和C4之后合并生成C5,这样提交历史比较清晰,但多了一个C5
    • 假设A已经将C1和C2 push到了远程分支,那么B 使用git rebase则会将C3和C4缓存到.git/rebase中,恢复到之前的状态,更新C1和C2,然后再将C3和C4作为补丁应用到C2的状态上。结果如下:
      原始状态 ->C1->C2->C3'->C4',C3'和C4'为git 根据C3和C4生成的补丁,log是一条直线,而且没有多余的C5,但是平行信息丢失。
      git pull和git pull --rebase之间的区别

    参考

    廖雪峰git教程

  • 相关阅读:
    TYVJ1061 Mobile Service
    TYVJ1061 Mobile Service
    KMP 模板
    poj 3254 Corn Field
    poj 3254 Corn Field
    洛谷1279 字串距离
    poj 1041 John's trip——欧拉回路字典序输出
    bzoj 3033 太鼓达人——欧拉图搜索
    bzoj 2503 相框——思路
    bzoj 2935 [Poi1999]原始生物——欧拉回路思路!
  • 原文地址:https://www.cnblogs.com/yc8930143/p/10662214.html
Copyright © 2011-2022 走看看