Git常用的基本命令
目录
- 1.克隆
- 2.新建分支
- 3.提交
- 4.提交到远程仓库
- 5.下拉
- 6.
- 7.切换分支
- 8.暂存
- 9.返回
- 10 查看版本号
1.克隆
如果这个项目的代码我们在本地还没有,我们先去GitLab里边找对应的Git地址,然后Clone到本地:
git clone https://github.com/ITmxs/mygit.git
2.新建分支
接到了新的需求,我们要新建一个分支,然后基于这个分支去开发:
git checkout -b feature/sanwaiAddLog
在开发的时候,我们肯定会有两个操作:
- 在原来的基础上添加新的文件
- 在原有的文件上修改
3.提交
不管怎么样,等我们做到一定程度了,我们都会提交代码。如果我们添加了新的文件,我们需要先add
,然后再commit
git add .git commit -m "try to commit files to GitHub, i am mxs"
4.提交到远程仓库
假设我们一切顺利,在没人打扰的情况下已经写好了代码了,然后我们会把自己的分支push
到远程仓库
git push
5.下拉
假设我们写到一半,其他小伙伴已经把他的代码merge
到主分支了,我们也需要把他最新的 代码给pull
拉取下来。(可以 git fetch + git merge 替代)
git pull
如果没有冲突,那git就会把他的代码给merge
到我当前的分支上。如果有冲突,Git会提醒我去手动解决一下冲突。
6.
看Git工作区、暂存区的变更情况(可以知道哪些没有commit、哪些没有被Git追踪):git status
拉取远程最新的变更到本地:git fetch
切换分支:git checkout 分支名
将代码还原到某个版本(包括工作目录):git reset --hard 版本号
查看Git的提交(commit)记录:git log
将代码还原到某个版本后,后悔了,想重新回去,但在提交记录已经找不到了。git reset --hard
把reset 之后的 commit
都给抹杀掉了。找到最近的执行Git命令:git reflog
还原到某个版本了,现在我为了稳健,不想再原来的分支上修改了,再新建一个分支吧(-b
参数把当前分支切换到了要创建的分支上):git checkout -b 分支名
我们把上一次还是”相对稳健“的分支合并到我新建的分支上:git merge 分支
突然想看看现在有多少个分支:git branch -a
新增几个文件了,随手git add
一下吧
改得差不多了,随手git commit -m
一下吧,最好还是写好备注,不然以后等改多了,你都不知道你改了什么啦。
改完了,提交到远程吧:git push
想把远程分支最新的代码给拉下来,然后合并到本地上。我们可以用git fetch
和git merge
来实现,也可以通过git pull
来实现。一般我用的都是git fetch
+git merge
,这样会更加可控一些
有的时候,本地分支在master分支,然后忘了切其他的分支去修改,直接在master改了,然后也push到远程了。等你发现的时候,你会真的想骂自己。
咋办?最简单的办法其实我们还是可以git reset --hard
到对应的版本,然后将其修改或者复原,再强制提交到master
分支:git push -u origin/master -f
7.切换分支
假设我们写到一半了,现在工作区的代码都已经commit
了。此时同事说要不帮忙一起排查一个问题,同事一般用的是自己分支,于是就得问他:你用的哪个分支啊?于是得把他的分支给拉下来,看看他的代码哪儿有问题
git fecth -- 手动拉取远程仓库更新的信息git checkout 分支名 -- 切换到他的分支
现在切换到他的分支,相当于你的环境跟他的环境是一模一样的,于是就可以愉快地一起看Bug了。
8.暂存
假设我们写到一半了,现在工作区的代码还没commit
。现在有同事说要排查问题或者一个新的Bug被发现了,要紧急切换到其他的分支。现在我又不想commit
(我就写了一半,编译还报着错误,没理由让我commit
吧)。
这时,我会把工作区的代码先stash
到暂存区给保存起来,然后就可以愉快地切换其他的分支了。
git stash
等我解决完另一个bug或者帮别人看完问题了,我再把刚刚保存在暂存区的代码给捞出来,继续干活
git stash pop
9.返回
我一直在修Bug,现在的分支已经被我搞得人摸鬼样了,我非常难受,甚至不知道自己在这个过程中改了多少东西了。
思路已经完全被打乱了,我想回到一个稳定的commit
重新出发,重来吧(通过下面的命令,把工作区的代码都改成对应commit的代码了)。
git reset --hard 版本号
10 查看版本号
那我怎么找到版本号呢?Git也是有日志的:
git log --pretty=oneline
Git常用的基本命令相关推荐
- Git 常用基本命令使用详细大全
在进行项目开发时,都会用到版本控制工具,如svn.Git等,随着Git的发展,渐渐的被越来越多的人使用,甚至慢慢在取代svn的地位.下面将从Git仓库的创建.Git常用的基本命令.Git的分支管理 ...
- git常用命令,分支操作,子模块
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) 二. Git 常用 ...
- GIT常用命令for QA
1. 在别人的项目写代码时 1> 犯了蠢翻天的事情,昨天一直在想其他事情...!!!结果直接把人家代码用非命令行的方式下载下来了(一般都是用命令行).导致git branch -av 等命令不生 ...
- linux 常用的git命令,git 常用命令详解
最重要2命令: git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git pull 本地与服务器端同步 一. Git 命令初识 在正式介 ...
- Git 常用命令详解(二)
2019独角兽企业重金招聘Python工程师标准>>> Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档 ...
- Git 常用命令大全1
一,git 常用命令 git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git co ...
- git下载安装(基本命令)
由于之前电脑重置,所以设置下git.本篇文章作为笔记 git下载安装(基本命令) 文章目录 git下载安装(基本命令) 1.git的下载 2.安装git 3.基本命令 1.git的下载 下载地址:ht ...
- 【转载】Git 常用命令大全
一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch ...
- Git 常用命令集锦
文档已储存在 GitHub,这里不再更新校正,请原谅. 远程仓库相关命令 克隆远程仓库:git clone git://github.com/jquery/jquery.git 查看远程仓库:git ...
最新文章
- C语言输入一行整数(OJ输入格式)
- 自动化测试框架搭建-配置-1
- 详解 如何在 windows 7添加启动项 ,强大的计划任务功能
- python idea控制台中文乱码_python 解决cv2绘制中文乱码问题
- 一个程序员年近四十岁的一些胡思乱想
- SOL注入——HTTP头部注入(六)
- 真格量化——50etf与期权对冲策略
- 基金委通报科研诚信违规违纪案件查处情况
- Docker制作镜像(四)
- 用计算机算非,在线计算器上的与、或、非、异或等逻辑运算键如何使用?
- Sql Server 2005如何导入DBF文件?
- 多线程(what,why,when)
- 区块链 以太坊 智能合约 如何销毁 废弃 selfdestruct
- Android 设置电话号码拦截(黑名单)
- 《财富的未来》——佐藤航阳读书笔记
- 如何用python爬取下载微博视频_程序员徒手用python教你爬取新浪微博,一天可抓取 1300 万条数据...
- js: color-thief在浏览器中拾取图片的主色调
- html5新浪微博代码,JS实现的新浪微博大厅文字内容滚动效果代码
- 微信小程序与uni-app的区别
- 探悉 Excel 中不为人所知的技巧
热门文章
- m5310模组数据上传至onenet_NBIOT模组M5310接入中国移动物联网开放平台示例文档
- linux c 读写mbr_一文看懂Linux开机流程BIOS-MBR-GRUB-Kernel-Init-Runlevel
- Ookla speedtest网速测试算法实现
- mysql key_block_size_Mysql入门mysql Key_buffer_size参数的优化设置
- sql服务器时间不正确,SQL Server 服务器本地时间更改对SQL Server本身的影响
- python作业是什么意思_Python12.21-基本数据类型学习笔记和作业,python1221,及
- element中有多个合计_深入理解 Flutter 中的 Widget, Element, RenderObject
- Shorten command line 解决方案
- java整合mybatis,springboot集成mybatis
- java如何理解继承性_理解 Java 的三大特性之继承