• git实际使用操作


    从0开始

    • 首先登陆gitlab账号

    • 找到SSH key位置

    • 切换到git版本控制,生成SSH key

      • ssh-keygen -t rsa -C "邮箱"
      • cat .ssh/id_rsa.pub # 查看公钥 并复制
    • 将公钥复制到gitlab/setting/SSH Keys/Key, Title可以为空,点击Add key即可

    • 然后在本地初始化一个git仓库

      • git init
    • 将本地仓库与远程仓库关联起来

      • git remote add origin 'git地址'
        
    • 在本地创建分支并与远程分支关联

      • # 查看远程的所有分支
        git fetch
        
      • # 创建并关联分支,本地分支名最好与远程分支名一样,这里拉的是远程仓分支的代码
        git checkout -b 本地分支名 origin/远程分支名
        
    • ojbk,本地分支就可以与远程分支进行数据push pull交互了

      • touch 1.txt
        git add 1.txt
        git commit -m "测试"
        # 将1.txt推送到远程仓库,推送本地分支以后会自动更新到远程仓库
        git push origin 本地分支名	
        
    - git status     # 查看当前仓库的状态,commit以后就算是提交了,就看不到了
    - git branch     # 查看当前所在分支
    - git branch -a     # 查看所有分支
    - git checkout 分支名称    # 切换到某个分支
    - git checkout -b 分支名称  # 创建新分支
    - git remote -v   # 查看远程库信息
    

    合并分支:

    • 切换到主分支

      git checkout release/3.1.3
      
    • 拉取最新代码

      git pull
      
    • 切换到次分支

      git checkout feature/portal
      
    • 拉取次分支最新代码

      git pull
      
    • 再次切换到主分支

      git checkout release/3.1.3
      
    • 在主分支上 合并 次分支代码

      git merge feature/portal
      
    • 合并完成后推送到git上

      git push origin feature/portal
      

    合并某个分支上的单个提交到主分支:

    • 切换到主分支

      git checkout release/3.1.5
      
    • 拉取最新代码

      git pull
      
    • 切换到次分支

      git checkout feature/screen
      
    • 拉取次分支最新代码

      git pull
      
    • 再次切换到主分支

      git checkout release/3.1.5
      
    • 找到次分支feature/screen上 某个提交 标识(SHA)

      4f1f4e767
      
    • 在主分支上 合并 次分支上某个提交

      git cherry-pick 4f1f4e767
      
    • 合并完成后推送到git上

      git push origin release/3.1.5
      

    bug分支处理:

    ​ 当前状态:项目在master主分支上跑,突然出现了bug,要紧急修复,而我在Dev分支上开发新功能。leder要求在两个小时内解决bug。

    ​ 解决方案:在自身的dev分支上,先用git stash把当前工作状态隐藏起来,然后切换到要修复bug的分支master,在master的分支上创建并切换一个新分支bug-fix, 在新分支上修复bug ,(修改文件,提交代码),bug修复完成后切换到主分支master,再合并修复好bug的分支,使用命令git merge --no-ff -m "bug已修复" bug-fix, 最后再删除修复的bug分支git branch -d bug-fix,切换回工作分支继续干活git switch dev, 查看刚才隐藏的工作状态中的文件git stash list, 恢复工作文件并删除隐藏的文件git stash pop.

    多人协作:

    1. 首先要本地分支feature_new 并与远程分支realse/3.9.0/创建远程关联

      git checkout -b feature_new origin/realse/3.9.0/

    2. 编写代码

    3. 将代码推送了远程:git push

    4. 推送失败的话要先拉取代码 git pull

    5. 拉取代码也失败的话,原因是需要指定本地的feature_new分支远程的分支realse/3.9.0/链接,

      git branch --set-upstream-to=origin/realse/3.9.0/ feature_new

    6. git pull 有冲突,解决冲突,没冲突就拉取成功

    ​ 总结:

    • 本地新建的分支如果不推送到远程,对其他人就是不可见的;

    • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

    • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

    • 建立本地分支和远程分支的关联git branch --set-upstream-to=origin/远程分支名(release/3.0.9) 本地分支名;或者git push --set-upstream origin 本地分支名 推送当前分支并将远端设置为上游(会报不匹配任何分支,没有上游,,想推送成功,前提是远程仓库必须有这个本地分支名的分支才能推送成功)

    • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

    img

  • 相关阅读:
    读《猫城记》 | 人间失格
    如果这都算是佛系
    常规流(Normal flow)
    页面重绘(repaint)和回流(reflow)
    display:none和visiblity:hidden区别
    读《人类简史》 | 一本很值得读的书
    Mac shell笔记
    读《围城》
    珠海游记
    mouseout、mouseover和mouseleave、mouseenter区别
  • 原文地址:https://www.cnblogs.com/lance-lzj/p/14841485.html
Copyright © 2020-2023  润新知