Git操作

作者: innerwang | 来源:发表于2018-11-06 15:53 被阅读0次
    1. 生成ssh key

    ssh-keygen   -t   rsa  -C  "xxx@yyy.com"

    • xxx@yyy.com 为github账户对应的邮箱

    • 默认在家目录下的.ssh文件夹下面生成id_rsa(私钥)和id_rsa.pub(公钥),公钥给别人,私钥留给自己

    • 别人要访问的时候会拿到公钥来访问,如果可以匹配,则可以进行操作,公钥放在github上,则可以鉴权

    • 将id_rsa.pub里面的内容拷贝放到 gitbub---> Settings--->SSH and GPG keys

    2. git clone

    git   clone   git@github.com:xxx

    • git@github.com:xxx 为github仓库对应的ssh链接,之所以不选用https,是因为每次都需要输入用户名和密码验证,采用ssh方式则可以事先配置好密钥对
    3. git add

    git add .
    git add file1 file2

    修改或新增了文件,都需要git add,可以add所有文件或者仅add修改的文件,Git会自动识别

    4. git commit

    git commit -m "description"

    提交修改到本地,此时若未设置git操作的email或者name,则会提示需要设置。


    扩展小知识

    git config [<option>]
    

    使用git需要配置本地进行git操作的email和name,
    若是设置email与github的账户一致,则自动匹配提交的用户name为github账户的用户名;
    若随意设置email及name,此email与github账户不一致,则显示commit的用户为所设置的name


    5. git push

    git push [origin/master]

    将本地提交的代码提交到服务器上的仓库,若未指定分支,则是push到当前分支。


    $$$ 本地创建Git项目推送到远程分支

    1:  git init  //创建一个本地新仓库
    2:  git add . //添加新建的文件
    3:  git commit -m "description"  //提交到本地
    4:  git remote add origin git@github.com:abc/aaa.git // 为对应的远程仓库添加标签为origin(也可设置为其他昵称)
    5:  git push -u origin master //推送到标签为origin对应的master分支,并将其设置为默认主机
    
    //********扩展
    1: git push -f origin master  //强制推送,会覆盖原先代码,慎用
    2: git remote remove origin //删除github标签
    3: git remote set-url origin git@github.com:abc/bbb.git  //修改origin标签对应的地址
    4: git remote rename origin coding //修改origin标签名为coding
    

    $$$ 分支操作

    1: git branch dev //创建本地库dev分支
    2: git checkout dev // 切换到dev分支
    3: git push origin dev // 推送到origin地址的dev分支上,此时会直接在远程新建dev分支
    4: git checkout master //切换到master分支
    5: git merge dev //合并dev的修改到本地的master分支
    6: git push origin dev //推送到远程
    
    • git branch -a 查看所有分支信息
      蓝色代表本地分支,红色代表远程分支,*代表当前所处的分支
    • git push -u origin dev
      为origin的dev设置push权限,这样后续处于dev分支时可以直接git push

    $$$ 冲突

    git clone  <版本库网址>  <本地目录> 
    

    上述为clone一个远程版本库到本地指定目录,若不指定本地目录,则默认与远程主机版本库同名。

    • merging状态时发生冲突,自动合并失败,此时需要打开发生冲突的文件,并手工修改,再次add ,commit,push

    相关文章

      网友评论

          本文标题:Git操作

          本文链接:https://www.haomeiwen.com/subject/eesuxqtx.html