美文网首页
4.git学习系列之企业实战

4.git学习系列之企业实战

作者: 小manong | 来源:发表于2018-09-16 21:27 被阅读0次

    一、公司团队开发基本操作(重点)

    • 总结的经验:

    (1)每次开发前和开发完成后要及时pull拉取代码,开发完成后要及时push
    (2)使用rebase命令使提交代码更加整洁

    • 具体使用流程案例:

    1、开发前从远程仓库pull代码,然后进行开发,开发完成后再从远程仓库pull代码
    2、git add .(有.ignore文件情况下面,把所有修改的文件放入临时区)
    3、git commit -m "提交信息记录"
    4、git fetch(拉取代码,防止前面没有拉取,产生冲突)
    5、git rebase origin develop(合并代码到develop分支上,公司基本上两个分支,一个master一个develop,开发基本上再develop上进行)
    6、git push origin develop(向远程分支进行推送)

    二、gitignore文件

    • 使用ide开发时候需要忽略的文件.classpath文件、.project文件、.settings等目录下文件,因为在同一个团队中难以保证大家使用相同的ide工具,而ide工具的不同,相关的特定文件就有可能不同,因此加入版本控制器时候,就有可以能要对这些文件进行冲突解决。
    • gitignore文件模板
    ##############################
    ## Folders                  ##
    ##############################
    target
    .idea
    .settings
    .classpath
    
    ##############################
    ## Netbeans conf            ##
    ##############################
    *.iml
    *.idea
    *.gitignore
    .project
    

    三、多次commit后合并到一个commit上,使提交内容更简洁

    • git rebase -i HEAD~n命令进行合并
    • 案例说明,合并最近提交的三条记录到一条:

    $ git reflog
    1a52fd7 (HEAD -> master) HEAD@{0}: commit: 4
    490e5dc HEAD@{1}: commit: 3
    41b7eeb HEAD@{2}: commit: 2

    1、git rebase -i HEAD~3命令后跳转到下面vi命令行
    //4次提交的commit倒序排列,最上面的是最早的提交,最下面的是最近一次提交
    pick 41b7eeb 2
    pick 490e5dc 3
    pick 1a52fd7 4
    
    # Rebase d354161..1a52fd7 onto d354161 (3 commands)
    #
    # Commands:
    # p, pick = use commit
    # r, reword = use commit, but edit the commit message
    # e, edit = use commit, but stop for amending
    # s, squash = use commit, but meld into previous commit
    # f, fixup = like "squash", but discard this commit's log message
    # x, exec = run command (the rest of the line) using shell
    # d, drop = remove commit
    #
    # These lines can be re-ordered; they are executed from top to bottom.
    #
    # If you remove a line here THAT COMMIT WILL BE LOST.
    #
    # However, if you remove everything, the rebase will be aborted.
    #
    # Note that empty commits are commented out
    2、修改后
    pick 41b7eeb 2
    squash 490e5dc 3
    squash 1a52fd7 4
    ...
    3、进行保存,git会压缩提交历史,如果有冲突,需要修改,修改的时候
    要注意,保留最新的历史,不然我们的修改就丢弃了,保留后显示下麦你的信息
    [detached HEAD f509fc7] 2
     Date: Sun Sep 16 19:54:19 2018 +0800
     1 file changed, 1 insertion(+), 1 deletion(-)
    Successfully rebased and updated refs/heads/master.
    4、然后敲下面的命令
    git add .
    git rebase --continue
    如果想放弃则是下面命令:
    git rebase --abort
    5、
    

    四、创建分支并合并分支

    • 由于新需求的来临,boss要求在新分支上开发然后合并到主分支

    1、创建分支

    git branch dev

    2、切换到分支上进行开发

    git checkout dev
    然后进行相应的代码开发

    3、在dev分支上进行代码提交到远程仓库

    git add .
    git commit -m "dev"
    git push origin dev(远程提交)
    如果想放弃提交:
    git push origin :dev

    4、切换回master主分支进行合并,这里使用rebase

    git checkout master
    git rebase dev
    -->如果有冲突先执行
    *先解决冲突
    *git add .
    *git rebase --continue
    -->如果没有冲突可以直接执行
    git push origin master

    相关文章

      网友评论

          本文标题:4.git学习系列之企业实战

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