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提交到远程仓库

  • 相关阅读:
    看《长安十二时辰》可以了解哪些算法知识
    面试官,我会写二分查找法!对,没有 bug 的那种!
    毕业十年后,我忍不住出了一份程序员的高考试卷
    扫雷与算法:如何随机化的布雷(一)
    降维打击!为什么我认为数据结构与算法对前端开发很重要
    盖尔-沙普利算法告诉你,你的对象在哪里?
    这道算法题太太太太太简单啦
    有点难度,几道和「滑动窗口」有关的算法面试题
    几道和「黑洞照片」那种海量数据有关的算法问题
    LeetCode 上最难的链表算法题,没有之一!
  • 原文地址:https://www.cnblogs.com/juicy-initial/p/12573639.html
Copyright © 2011-2022 走看看