• git下


    -----------
    
    1. 分支管理策略
        1)master分支
        非常稳定的,只用来发布新版本,平时不在上面干活
        2)dev分支
        不稳定的,主要在上面干活,每个人都有自己的分支,时不时的往dev分支上合并
    
        通常,合并分支时,如果可能,Git会用`Fast forward`模式,但这种模式下,删除分支后,会丢掉分支信息。
        如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
        > git log --graph --pretty=oneline --abbrev-commit
    
    2. Bug分支
        你目前在dev分支上工作,工作到一半,但突然有一个紧急的bug需要修复,可以先保存你的工作现场,修复完bug后,在切回来。
        步骤:
        当前在dev分支上:
            git stash  # 把当前工作现场“储藏”起来
        切换到要修复bug的分支(假定master):
            git checkout master
            git checkout -b issue-101
            .... 修复问题
            git add filename
            git commit filename
        把修改合并到修复的分支:
            git checkout master
            git merge --no-ff -m "merge fix 101 modification" issue-101
            git branch -D issue-101
        切换回工作现场:
            git checkout dev
            git stash list  # 查看之前保存了哪些工作现场
            git stash drop
            两种恢复方式:
            1)git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除
                git stash apply stash@{0}
                git stash drop stash@{0}
            2)git stash pop,恢复的同时把stash内容也删了
    
    3. Feature分支
        与bug分支类似
        两条命令:
        1)git branch -d dev_name  # 已经合并完的分支可以使用此命令删除
        2)git branch -d dev_name  # 强制删除分支(未合并的也可以)
    
    4. 多人协作
        多个人在同一分支上工作,如何正确的合并文件?
        两种情况:
        **1)你和他人同时修改同一个文件,他人修改完成,提前推送到远程,如何提交你的修改**
        详细步骤:
            1)试图用git push origin <branch-name>推送自己的修改;
            2)如果推送失败,则因为远程分支比你的本地更新,需要先用git pull拉取远程最新的版本;
            3)如果合并有冲突,则解决冲突,并在本地提交;
            4)没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送
        **2)你和他人操作的不是同一个文件
        详细步骤:
            1)试图用git push origin <branch-name>推送自己的修改;
            2)如果推送失败,先用git pull拉取远程最新的版本;
            3)git add .  # 添加本地的全部修改到暂存区
            4)git commit -m "说明信息"  # 提交更改至本地
            5)git push origin <branch-name>推送本地分支至远程
        提交更改前,都要先git pull拉取远程最新版本  
    
        当从远程克隆时,Git自动把本地的master分支与远程的master分支对应起来,远程仓库的默认名称是origin。
        查看远程库信息:
            git remote -v
        推送分支:
            git push origin master  把本地的mater分支推送到远程对应的master分支上
            git push origin dev     把本地的dev分支推送到远程对应的dev分支(远程没有dev分支会自动创建一个dev分支)
        创建远程origin的dev分支到本地
            git checkout -b dev origin/dev
        指定本地dev分支与远程origin/dev分支的链接
            git branch --set-upstream-to origin/dev dev
            或
            git branch --track origin/dev dev
    
    5. 标签
        tag是一个容易记住的有意义的名字,它跟某个commit绑定在一起。
        打标签:
            git tag tag_name  # 默认打在最新提交的commit上,当前HEAD的指向
            git tag  # 查看标签
            git show tag_name  # 查看标签详细信息
        在指定的commit上打标签:
            git log --pretty=oneline  # 查看commit id
            git log -a tag_name -m "explain content" commit_id
        推送标签:
            git push origin tag_name    # 推送一个指定的标签
            git push origin --tags      # 推送全部尚未推送到远程的本地标签
        删除标签:
            1) 标签尚未推送到远程
            git tag -d tag_name
            2)标签已推送到远程
            git tag -d tag_name
            git push origin :refs/tags/tag_name
    
    6. Rebase
        解决查看log分支多,混乱的问题;遗留
        
  • 相关阅读:
    使用css的类名交集复合选择器 《转》
    在Web.config或App.config中的添加自定义配置 <转>
    [转]给ListView加上ComboBox或是TextBox控件
    WinForm Timer控件,三级联动[省,市,区]
    WinForm用户窗体
    WinForm 进程 ,线程
    WinForm MDI窗体容器
    WinForm 控件TabelControl对TabelPage页的添加,删除操作
    [转]C#重绘TabControl的Tabpage标签,添加图片及关闭按钮
    WinForm sender初级应用
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9758313.html
Copyright © 2020-2023  润新知