git 命令 2.0

 

  • git merge origin/master 如果出现冲突:
    
    方式 1:直接编辑文件,手动选择, 打开冲突文件,里面标记长这样
    
    <<<<<<< HEAD
    // 【本地你的代码】
    CFLAGS += -Wall
    =======
    // 【远程 origin/master 的代码】
    CFLAGS += -O2
    >>>>>>> origin/master
    
    1. 删掉 `<<<<<<< HEAD` / `=======` / `>>>>>>> origin/master` 这三行标记,并保留想要的代码
    2. git add 文件名
    
    方式 2:整文件一键选【全部本地】或【全部远端】
    1. 保存本地:git checkout --ours Makefile  ->  git add Makefile
    2. 保存远程:git checkout --theirs Makefile -> git add Makefile
    
    方式 3:合并一开始就预设策略(合并前执行,一次性策略)
    1. 优先本地:git merge -X ours origin/master
    2. 优先远程:git merge -X theirs origin/master
    
    放弃合并:git merge --abort

 

  •   
    my: 管理员  puas001:普通用户  puas002: 普通用户  
    仓库建好好要注意1:协助者  2.分支权限
      
    任何项目由管理员发起  
    git status dv500/ -uall  
      
    puas001 先 clone
      git checkout -b puas001
      git push -u origin puas001  
        -> 后续  git push
        -> my: git fetch origin
      
        
        
    my 合并代码:
    git pull origin master // git fetch origin master 获取远程最新的信息 并合并到本地 master: git merge origin/master
    git fetch origin  // 刷新所有分支信息
    
    git diff master origin/puas001 // 对比本地 master 和远程 puas001 代码
    git diff --stat master origin/puas003 // 修改的文件
    git log master..origin/puas001 --oneline // 列出远程分支 多出来的 提交 commit
    
    git merge origin/puas001
    git push origin master
    
    
    
    
    
    my 修改了代码 并提交到远程
    puas001 commit了一次, 然后git fetch origin , git merge origin/master 如果没有代码冲突合并后只是多了一个 commit, 所以养成好习惯 
    
    
    
    http://192.168.49.95:3000/fxw/ok001.git
    
    
    
    git submodule update --init ok001
    git submodule update --init ok001

 

  • 删除代理:git config --global --unset https.proxy , 设置代理:git config --global https.proxy socks5://127.0.0.1:17890
  •  
  • # ================= tag 标签
    
    git tag -l "v1.3*"
    v1.3.0
    v1.3.1
    v1.3.5
    
    # 但是 branch 没有 v1.3.5
    git branch -a
    * master
      remotes/origin/HEAD -> origin/master
      remotes/origin/coverity-develop
      remotes/origin/debian
    
    # 我还可以执行:git checkout v1.3.5
    git branch -a
    * (HEAD detached at v1.3.5)
      master
      ...
    
    
    
    #  tag 是标签来的,我们自己也可以添加这样的标签:
    git add .
    git commit -m "完成功能开发,准备发布 v1.0.0"
    git tag v1.0.0 # 这里打标签,也可以加注释 git tag -a v1.0.0 -m "第一个稳定版本,修复了某某bug"
    git push origin v1.0.0 # 推送单个标签, git push 不会 推送标签, 或者一次性推送所有本地标签:git push origin --tags
    
    # 别人要用的话就:
    git fetch --tags # 先拉取标签
    git tag -l # 查看标签,就能看到 v1.0.0
    git checkout v1.0.0 # 切换到该版本,此时他们也会进入 (HEAD detached at v1.0.0) 状态,可以编译这个特定版本的代码
    
    # 分支是用来开发的(一直在变),标签是用来发布的(永久不变)
posted @ 2026-03-20 14:00  封兴旺  阅读(41)  评论(0)    收藏  举报

联系方式: 18274305123(微信同号)