目录

  • 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 --hardreset 之后的 commit都给抹杀掉了。找到最近的执行Git命令:git reflog

还原到某个版本了,现在我为了稳健,不想再原来的分支上修改了,再新建一个分支吧(-b 参数把当前分支切换到了要创建的分支上):git checkout -b 分支名

我们把上一次还是”相对稳健“的分支合并到我新建的分支上:git merge 分支

突然想看看现在有多少个分支:git branch -a

新增几个文件了,随手git add一下吧

改得差不多了,随手git commit -m一下吧,最好还是写好备注,不然以后等改多了,你都不知道你改了什么啦。

改完了,提交到远程吧:git push

想把远程分支最新的代码给拉下来,然后合并到本地上。我们可以用git fetchgit 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常用的基本命令相关推荐

  1. Git 常用基本命令使用详细大全

      在进行项目开发时,都会用到版本控制工具,如svn.Git等,随着Git的发展,渐渐的被越来越多的人使用,甚至慢慢在取代svn的地位.下面将从Git仓库的创建.Git常用的基本命令.Git的分支管理 ...

  2. git常用命令,分支操作,子模块

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) 二. Git 常用 ...

  3. GIT常用命令for QA

    1. 在别人的项目写代码时 1> 犯了蠢翻天的事情,昨天一直在想其他事情...!!!结果直接把人家代码用非命令行的方式下载下来了(一般都是用命令行).导致git branch -av 等命令不生 ...

  4. linux 常用的git命令,git 常用命令详解

    最重要2命令: git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git pull 本地与服务器端同步 一. Git 命令初识 在正式介 ...

  5. Git 常用命令详解(二)

    2019独角兽企业重金招聘Python工程师标准>>> Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档 ...

  6. Git 常用命令大全1

    一,git 常用命令 git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git co ...

  7. git下载安装(基本命令)

    由于之前电脑重置,所以设置下git.本篇文章作为笔记 git下载安装(基本命令) 文章目录 git下载安装(基本命令) 1.git的下载 2.安装git 3.基本命令 1.git的下载 下载地址:ht ...

  8. 【转载】Git 常用命令大全

    一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态  git commit 提交  git branch -a 查看所有的分支 git branch ...

  9. Git 常用命令集锦

    文档已储存在 GitHub,这里不再更新校正,请原谅. 远程仓库相关命令 克隆远程仓库:git clone git://github.com/jquery/jquery.git 查看远程仓库:git ...

最新文章

  1. C语言输入一行整数(OJ输入格式)
  2. 自动化测试框架搭建-配置-1
  3. 详解 如何在 windows 7添加启动项 ,强大的计划任务功能
  4. python idea控制台中文乱码_python 解决cv2绘制中文乱码问题
  5. 一个程序员年近四十岁的一些胡思乱想
  6. SOL注入——HTTP头部注入(六)
  7. 真格量化——50etf与期权对冲策略
  8. 基金委通报科研诚信违规违纪案件查处情况
  9. Docker制作镜像(四)
  10. 用计算机算非,在线计算器上的与、或、非、异或等逻辑运算键如何使用?
  11. Sql Server 2005如何导入DBF文件?
  12. 多线程(what,why,when)
  13. 区块链 以太坊 智能合约 如何销毁 废弃 selfdestruct
  14. Android 设置电话号码拦截(黑名单)
  15. 《财富的未来》——佐藤航阳读书笔记
  16. 如何用python爬取下载微博视频_程序员徒手用python教你爬取新浪微博,一天可抓取 1300 万条数据...
  17. js: color-thief在浏览器中拾取图片的主色调
  18. html5新浪微博代码,JS实现的新浪微博大厅文字内容滚动效果代码
  19. 微信小程序与uni-app的区别
  20. 探悉 Excel 中不为人所知的技巧

热门文章

  1. m5310模组数据上传至onenet_NBIOT模组M5310接入中国移动物联网开放平台示例文档
  2. linux c 读写mbr_一文看懂Linux开机流程BIOS-MBR-GRUB-Kernel-Init-Runlevel
  3. Ookla speedtest网速测试算法实现
  4. mysql key_block_size_Mysql入门mysql Key_buffer_size参数的优化设置
  5. sql服务器时间不正确,SQL Server 服务器本地时间更改对SQL Server本身的影响
  6. python作业是什么意思_Python12.21-基本数据类型学习笔记和作业,python1221,及
  7. element中有多个合计_深入理解 Flutter 中的 Widget, Element, RenderObject
  8. Shorten command line 解决方案
  9. java整合mybatis,springboot集成mybatis
  10. java如何理解继承性_理解 Java 的三大特性之继承