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 状态。
相关推荐
high201111 分钟前
【Git】-- 版本说明
git
kaixin_learn_qt_ing1 小时前
git clone
git
sin22011 小时前
git stash
git
喝鸡汤1 小时前
一起学Git【第二节:创建版本库】
git
慢慢成长的码农1 小时前
git 同步分支操作
git
sin22011 小时前
git推送本地仓库到远程(Gitee)
git·gitee
丁总学Java3 小时前
git branch -r(--remotes )显示你本地仓库知道的所有 远程分支 的列表
git
yylの博客6 小时前
Windows通过git-bash安装zsh
windows·git·bash·zsh
丁总学Java6 小时前
(Z Shell)zsh: no matches found: ? 使用单引号包裹
git·zsh
萌狼蓝天7 小时前
【NAS】绿联NAS+极狐Gitlab+1Panel
git