Git常用命令总结

Git常用命令总结

Git是多人协作开发过程中很重要的一个工具,以下是一些Git常见的一些使用场景,后续会持续更新,欢迎大家评论交流,聊聊自己学习或工作中常遇到的场景~~

  1. 创建分支并推送到远程
bash 复制代码
//查看现有全部分支
git branch -a
//创建新分支(
git branch dev
//将本地新创建的分支推送到远程(远程同时有同名分支)
git push origin dev
  1. 修改分支代码推送到远程分支
bash 复制代码
//提交暂存区
git add .
//将暂缓区的内容提交到本地仓库
git commit -m "新增了testDevelop.txt文件"
//推送之前最好先拉取一遍
git pull origin develop
//将本地分支代码推送到远程(本地分支名与远程相同)
git push origin develop
//提交并创建分支  本地分支:远程分支(本地分支名与远程不同)
git push origin dev:dev
  1. 删除分支
bash 复制代码
// 删除本地分支
git branch -d localBranchName

// 删除远程分支
git push origin --delete remoteBranchName

注意:
a. 如果你还在一个分支上,那么 Git 是不允许你删除这个分支的。所以,请记得退出分支:git checkout master
b. 当一个分支被推送并合并到远程分支后,-d 才会本地删除该分支。如果一个分支还没有被推送或者合并,那么可以使用-D强制删除它。
  1. git基于某分支拉取新的分支
    Git三种方法从远程仓库拉取指定的某一个分支,可参考:
    https://blog.csdn.net/you18131371836/article/details/110404967
bash 复制代码
//git拉取某一指定分支代码到本地(dev为远程分支名)
git clone -b dev https://xxx/xx/xx
//在该分支基础上创建新分支
git branch test
//新创建的分支推送到远程
git push origin test
  1. 分支重命名
bash 复制代码
本地分支重命名(还没有推送到远程)
git branch -m oldName newName
bash 复制代码
//远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)
a. 重命名远程分支对应的本地分支
git branch -m oldName newName
b. 删除远程分支
git push --delete origin oldName
c. 上传新命名的本地分支
git push origin newName
d. 把修改后的本地分支与远程分支关联
git branch --set-upstream-to origin/newName


注意:如果本地分支已经关联了远程分支,需要先解除原先的关联关系:
git branch --unset-upstream 
  1. 查看分支关系图
bash 复制代码
gitk

注意:需要关闭才能继续输入命令
  1. 分支代码同步
    首先拿到代码提交的commit ID号(下面简称eid),有两种方式

bash 复制代码
(同步单条记录)
// 切换分支
git checkout dev(切换到需要同步的分支上,即当前该分支需要同步新的提交)
// 根据commit的id号挑拣修改
git cherry-pick eid
// 添加文件到暂存区(可以不用)
git add .
// 本地修改保存到本地仓库(可以不用)
git commit -m "说明说明"
// 推送挑拣下来的文件到远程(可以直接git push,前提是建立本地dev分支与远程dev分支建立关联)
git push origin dev
bash 复制代码
(同步多条连续记录:多个连续commit合并)
// 切换分支
git checkout dev(切换到需要同步的分支上,即当前该分支需要同步新的提交)
// 根据commit的id号挑拣修改
// 写法1:^表示包括左边的,即[did,fid]
git cherry-pick did^..fid 
// 写法2:不包括左边,即(did,fid],必须按照正确的顺序放置
git cherry-pick cid..fid 
// 推送挑拣下来的文件到远程
git push origin dev
bash 复制代码
(同步多个commit,没有连续与顺序要求)
// 切换分支
git checkout dev(切换到需要同步的分支上,即当前该分支需要同步新的提交)
// 根据commit的id号挑拣修改
git cherry-pick cid eid fid 
// 推送挑拣下来的文件到远程
git push origin dev
bash 复制代码
//如果同步错误,可取消之前的cherry-pick
git cherry-pick --quit

注意:
git cherry-pick 同步的是当前提交记录中的代码,就算你的同一个文件的版本1和版本2中还有其他差异代码也不会同步
  1. 建立本地分支与远程分支关联
bash 复制代码
// 切换到需要关联的本地分支
git checkout dev
// 建立本地dev分支与远程dev分支的关联,建立关键之后可以直接git push
// git branch --set-upstream-to origin/分支名
git branch --set-upstream-to=origin/dev
// 查看本地分支与远程分支的映射关系
git branch -vv
// 撤销本地分支与远程分支的关系
git branch --unset-upstream
  1. 合并分支
bash 复制代码
// 将dev分支合并到master分支
// 切换到master分支上
git checkout master   
// 把远程分支pull,及时更新
git pull origin master
// 把dev分支的代码合并到master上  
git merge dev      
// 查看状态    
git status     
//push到远程分支         
git push origin master 
  1. 查看提交日志
bash 复制代码
git log

注意:
当commit(提交)比较多,git log 的内容在一页显示不完整,满屏放不下的时候,就会显示冒号。
回车(往下滚一行)、空格(往下滚一页)可以继续查看剩余内容,出现(END)表示到显示最后了。
退出:英文状态下 按 q 可以退出git log 状态。
相关推荐
小僧景贤11 小时前
【零门槛入门】嵌入式新手极简 Git 上手教程
git·固件开发·嵌入式版本管理
克里斯蒂亚诺更新12 小时前
云效和IDEA关于git的相通使用
git
Gavynlee13 小时前
Git 操作问题排查与解决方案记录(Gitee 实战)
git·elasticsearch·gitee
邪修king13 小时前
Re:Linux系统篇(十):从零上手 Git + GitHub(Ubuntu 环境实操完整版|个人代码归档必备)
linux·git·github
李可以量化13 小时前
Redis 从了解到精通(三)下:性能基准测试与量化场景性能避坑指南
redis·git·python·量化交易·qmt·ptrade
青 春 记 忆21 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
牢姐与蒯1 天前
Linux基础开发工具之版本控制器git
git
云原生指北1 天前
Docker Sandboxes 工作区怎么接:Direct、Clone 和它们的边界
git·docker·agent
菠萝猫yena1 天前
【git】git 命令常用组合
大数据·git·elasticsearch
Liekkas Kono1 天前
aicommits 工具接入 Codex CLI 使用
git·swhl·aicommits