【记录】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). ...
随机推荐
- Linux上部署Springboot相关命令
ps -ef|grep java 看有关java的进程 ps -ef是显示所有进程信息 后面那个grep是匹配的意思 kill -9 123123 213231 后面两个数字是两个进程的进程号pid, ...
- Linux操作练习
打印显示当前时间,格式是:20181209211008 [root@Centos7 ~]#date "+%Y%m%d%H%M%S" 实现晚上20:30自动关机 [root@Cent ...
- Oracle之子查询:Top-N问题
学习了SQL子查询,遇到个Top-N问题,即:加入有张工资表(这里使用Oracle SCOTT用户的emp表),需要查找工资最高的3个员工信息,以下列格式输出: 乍眼一看,这很简单啊,对sal进行排序 ...
- window杀死端口
获取端口的pid:netstat -aon|findstr "8382" 杀死pid : taskkill /pid [] -t -f
- python常用技巧 — 杂
目录: 1. 找到字符串中的所有数字(python find digits in string) 2. python 生成连续的浮点数(如 0.1, 0.2, 0.3, 0.4, ... , 0.9) ...
- Mysql中存储过程和函数的写法
MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine ...
- idea创建ssm框架步骤
打开idea 编辑器 File>new >project 选择Maven 右边勾选Create from archctype 然后下拉选择org.apache.maven.archet ...
- 处理post上传的文件;并返回路径
/** * 处理post上传的文件:并返回路径 * @param string $path 字符串 保存文件路径示例: /Upload/image/ * @param string $format 文 ...
- Linux系统之-TCP-IP链路层
一.基本 网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 为达到这一目 ...
- [CSP-S模拟测试]:字符(模拟+剪枝)
题目传送门(内部题33) 输入格式 第一行,两个整数$T,C$,表示测试数据组数和字符种类数.对于每组数据:第一行,一个正整数$M$:接下来的$M$行,每行两个整数$P_k,X_k$($S$的下标从$ ...