【记录】gitLab git命令add commit fetch pull push
最近项目使用git进行版本控制,由于之前用svn,所以对git不是太熟悉,网上一通乱找git各命令含义,
以下内容感觉讲的很详细,可以很清楚理解git提交流程,博主把重要的信息用红字标注了,更加显眼。
推荐使用TortoiseGit来进行git操作,非常方便,下载地址 https://tortoisegit.org/download/
以下内容转载自:https://blog.csdn.net/jason19966/article/details/88884578
相关资料参考2:https://blog.csdn.net/weixin_39618217/article/details/80985301
add和commit
我们可以把一个git仓库分为3个区,分别是工作区、暂存区、版本库。
工作区里存放的是我们正在操作的文件信息;每次add操作就会将工作区文件的修改信息添加到暂存区;每次commit 操作会将暂存区里的修改内容添加到版本库里。
git add :表示把中工作区中被修改过或已删除文件或新增的文件信息添加到暂存区。
常用命令 :git add filename 添加指定文件到暂存区;git add -A 添加工作区中所有被修改过或已删除文件或新增的文件信息添加到暂存区。
git commit :把暂存区里的内容提交到版本库里,每次commit都生成一个新的版本,对应一个commit id。
常用命令:git commit -m “commit message”
git fetch 、pull、push
git fetch: 获取远程仓库里的分支的最新版本到本地,不进行合并。所取回的更新,在本地主机上可以用”远程主机名/分支名”的形式读取。
常用命令:git fetch <远程仓库名> 获取远程仓库里的所有的分支的最新版本,可以简写成 git fetch;
git fetch <远程仓库名> <远程分支名> 获取远程仓库里指定分支的最新版本。
备注:git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支。
示例:git fetch origin dev2 拉取远程仓库的dev2分支的更新到本地,此时FETCH_HEAD指向origin/dev2分支。
git pull :获取远程仓库里的分支的最新版本到本地,与本地分支进行合并。
常用命令:git pull <远程仓库名> <远程分支名>:<本地分支名> 获取指定远程分支,与指定本地分支合并。当远程分支和本地当前分支合并的时候,
可以省略":<本地分支名>",可以通过git status 查看当前分支。
备注:git pull 相当于git fetch + git merge,fetch不会自动merge。
示例:git pull origin dev2:dev 获取远程仓库origin的dev2分支并和本地的dev分支合并。
git push : 将本地仓库分支的更新,推送到远程仓库。
常用命令:git push <远程仓库名> <本地分支名>:<远程分支名> 将本地指定分支的更新,推送到远程指定分支。当远程分支和本地分支同名的时候,
可以省略":<远程分支名>"。
示例:git push origin dev:dev2。将本地分支dev 推送到origin上的dev2上,若origin上没有dev2分支,则创建一个dev2分支。
git push origin :dev2 。删除origin上的dev2 分支,相当于将一个空的本地分支推送到origin的dev2分支上。
多人协作中版本推送到远程仓库的流程
整理好本地仓库的版本:使用git add 和git commit生成一个新的版本;
尝试直接将本地的更新推送到远程仓库。使用 git push。
若push 失败,则说明远程仓库的分支版本领先本地,即从上次pull或者fetch后,有人提交过更新。解决方案如下。
3.1 获取远程的最新版本与本地分支合并,使用git pull 或者git fetch + git merge。
3.2 合并时,若出现冲突,手动解决冲突后,使用git add 和git commit生成一个新的版本。
3.3 使用git push 将合并后的版本推送到远程仓库。
希望能帮助到对git迷茫的你。
【记录】gitLab git命令add commit fetch pull push的更多相关文章
- Git 协作:Fetch Pull Push Branch Remote Rebase Cherry-pick相关
前言 学习git的时候,我们首先学习的是最常用的,自己独立开发Software时用的命令: git init //初始化git仓库 git add <file_name> //将文件添加到 ...
- Docker DevOps实战:GitLab+Jenkins(1)- GitLab容器搭建、使用SourceTree pull/push项目
GitLab容器搭建 # 创建GitLab容器# --restart always #重启,容器自动重启# --privileged=true #容器内使用root权限 [root@localhost ...
- Git学习 --> 个人常用命令add,commit以及push
Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱 git config --global user.name <用户名> 我的命令就是:git confi ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
- 使用git命令修改commit提交信息
很多时候我们在提交代码时可能会把commit提交信息写错了,这个时候我们就可以用到下面的git命令来修改commit提交信息 git commit --amend 输入"i"之后进 ...
- 2.每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。答题人:张立鹏
第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...
- 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞
1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...
- 第二章-如何使用github建立一个HelloWorld项目,git的add/commit/push/pull/fetch/clone等基本命令用法。--答题人:杨宇杰
1.配置Git 首先在本地创建ssh 秘钥:在git bash输入: $ ssh-keygen -t rsa -C "your_email@youremail.com" eg:$ ...
- Git命令add和commit的区别
要想弄明白git add和git commit的区别,首先我们需要知道三个概念:工作区(Working Directory).版本库(Repository).暂存区(Stage or index). ...
随机推荐
- Vue小白篇 - ES6的语法
为什么要学 ES6 的语法呢? 因为 Vue 语法有很多都是 ES6(ECMAScript 6),这里推荐 [阮一峰 ECMAScript 6 入门]: http://es6.ruanyifeng.c ...
- springmvc 异常统一处理的三种方式详解
1 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理.每个过程都单独处理异常,系统的代码耦 ...
- 【记录】解决前端form表单回车禁止刷新页面
最近弄前端 有form表单的情况下 按回车会自动刷新当前页面. 现记录解决方案如下: 1.去掉表单 2.不要让表单中只有一个文本框(增加一个隐藏的文本框就行) 3.以上两点都不想使用,那么就还可以在表 ...
- 交叉编译fw_printenv
source /opt/poky/environment... 创建交叉编译环境. 更改u-boot/tools/env/Make 添加CC 9 CC=aarch64-poky-linux-gcc - ...
- 第十章 Ingress
一.资料信息 Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginx Ingress-Nginx 官方网站:https: ...
- Oracle Linux下使用sqlplus的edit命令
1.使当前会话生效 define_editor=vi SQL> select * from dual; D - X SQL> edit Wrote file afiedt.buf 21 1 ...
- logback-paycore.xml 日志配置
<?xml version="1.0" encoding="UTF-8"?><configuration> <property n ...
- SVN连接不上仓库,问题之一
如果之前用过SVN,在新的地址上用,发现一直连不上,报错.有可能是因为默认使用了之前的地址,所以没弹出输账号和密码的弹框. 解决方法就是:把之前的链接地址全部清除掉. 右键找到SVN里面的 Sett ...
- HTML+CSS+JS是什么
html:整合网页结构和内容显示的一种语言 css:是一种用来表现HTML或XML等文件样式的计算机语言 js:增加表现力的脚本 做网页前台设计的标准套装,html是一些网页控件,css是美化这些控件 ...
- 错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?(转)
错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx. ...