zoukankan      html  css  js  c++  java
  • git的学习和使用总结

      很多项目开发都会采用git这一优秀的分布式版本管理工具进行项目版本管理,使用github开源平台作为代码仓库托管平台。

      在使用git时有两种方式,一种是命令式操作,另一种是图形化操作。下面将会详细介绍这两种具体操作步骤。

    (一).命令式操作

      1.GitHub上创建远程仓库            

          

     2.对本地代码生成本地仓库,建立master和dev分支,将代码推送到GitHub上

     检查.gitignore文件中不需要添加到仓库的文件               

    >>> git init 
    >>> git add . (添加到暂存区)
    >>> git commit -m "init app" (提交到版本区,生成master分支)
    >>> git remote add origin GitHub地址 (建立远程连接)
    >>> git push origin master (将本地仓库的master分支推送到远程的master分支)
    >>> git checkout -b dev (建立本地仓库dev分支)
    >>> git push origin dev (将dev分支推送到远程)(后续开发的代码更新远程dev也是执行这行命令

      

    在推送代码的时候出现以上问题:      

     原因是由于在本地(或者服务器上)没有生成ssh key。

     在终端输入:

    >>> ssh-keygen -t rsa -C "youremail@example.com",//一路回车即可,会生成ssh key
    >>> ssh -v git@github.com
    >>> ssh-agent -s
    >>> ssh-add ~/.ssh/id_rsa

     如果提示:Could not open a connection to your authentication agent.

    >>>  eval `ssh-agent -s` 
    >>>  ssh-add ~/.ssh/id_rsa  

     打开刚刚在本地生成的id_rsa.pub文件,复制到github账号在settings下,SSH and GPG keys下new SSH key中的Key中,title随便命名,然后Add SSH Key

     在终端输入ssh -T git@github.com进行验证

     3.从远程GitHub上fork代码     

    >>> git clone https://github.com/rqpjuicy/react-cloud-music.git     
    >>> git checkout dev(切换到dev分支)

     开发时可能要构建其他分支 

    >>> git checkout -b feature-discuss (分出一个功能性分支)
    >>> touch discuss.js (假装discuss.js就是我们要开发的功能)
    >>> get add .
    >>> git commit -m 'finish discuss feature' (提交更改)  
    >>> git checkout develop (回到dev分支)  
    >>> git merge --no-ff feature-discuss (把做好的功能合并到dev中)
    >>> git branch -d feature-discuss (删除功能性分支)
    >>> git push origin dev(把dev提交到自己的远程仓库中)

     分支模型中共有五类分支:  

     永久性分支:master branch ,develop branch

     临时性分支:feature branch(功能),release branch(预发布),hotfix branch(bug修复)

     4.更新fork代码和向管理员提交代码

     fork来的代码有更新,需要将自己仓库中的代码保持同步更新。再去管理员把自己仓库的dev分支合并到源仓库的dev分支中,这就是pull request

          

             

     然后是点击 Create pull request ->Merge pull request.

     将base repository和head repository仓库调换一下,再去Create pull request就是发起管理员对提交代码的评审。

     管理员可以对提交的代码进行review,在本地测试新建一个测试分支进行测试      

    >>> git checkout dev (进入管理员本地的dev分支)
    >>> git checkout -b rqp-dev (从dev分支中分出一个叫rqp-dev的测试分支测试我的代码)
    >>> git pull https://github.com/rqpjuicy/react-cloud.git dev (把我的代码pull到测试分支中,进行测试 )

     经过测试,若无问题,将我的代码合并到源仓库的dev中

    >>> git checkout dev
    >>> git merge --no-ff rqp-dev
    >>> git push origin dev  

    (二).图形化操作

      修改代码后在GitHub desktop中能看到代码的修改

        

      点击Stage Changed看到暂存区改变

       

        

      点击Commit提交到本地仓库

      点击push提交到远程仓库

  • 相关阅读:
    整数反转
    两数之和
    设计模式-备忘录模式
    设计模式-迭代器模式
    设计模式-中介者模式
    设计模式-观察者模式
    C# OpenFileDialog和SaveFileDialog的常见用法
    SQL数据库表结构的修改(sql2005)
    C# 时间格式处理
    C# 集合类(四)
  • 原文地址:https://www.cnblogs.com/juicy-initial/p/12573639.html
Copyright © 2011-2022 走看看