git提交顺序

整理这个问题的起因:
1.前些天一个晚辈问我关于commit与pull的先后顺序问题
2.今天又与同事争论了一番commit与pull的先后顺序问题

我的建议是:
1.在本地修改与远程代码无冲突的情况下,优先使用:pull->commit->push
2.在本地修改与远程代码有冲突的情况下,优先使用:commit->pull->push

那么我们怎么去确定是否有冲突呢?
一般我们在合作开发一个项目的过程中,都会有分工,有时会两个人同时修改一个类,有时整个类都是你自己在开发。
如果都是自己在开发的类,当然优先使用pull->commit->push,为什么我更倾向这种方式呢,因为这样会减少Git没有必要的merge。

如果有冲突的情况下,先pull了会出现什么问题呢?
如果你的判断失误,在本地修改与远程代码有冲突的情况下,先执行了git-pull,即使是这样也不用担心,git会给你一个错误提示,这时候你再去执行commit->pull->push也是没有问题的。

我们可以看一下下面这个git提交记录的截图:

图中,我们可以看到四次merge的提交,实际上这四次都是没有冲突的merge,这是commit->pull->push中,git自动生成的merge。
如果这里我们采用pull->commit->push呈现出来的就会是一条没有merge、没有多余commit的一条完美分支。

git-pull(https://git-scm.com/docs/git-pull)
Incorporates changes from a remote repository into the current branch. In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD.
————————————————
版权声明:本文为CSDN博主「Katherine_Pierce」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaosi_xiaosi/article/details/81336077

原文地址:https://www.cnblogs.com/xzh1993/p/12297973.html

时间: 2024-10-12 08:00:14

git提交顺序的相关文章

解决git提交问题error: The requested URL returned error: 403 Forbidden while accessing

git提交代码时,出现这个错误"error: The requested URL returned error: 403 Forbidden while accessing https" 解决方法: 编辑.git文件夹下的config文件就可以. vim .git/config #改动对于的配置 #原来的url = https://github.com/elitecodegroovy/PhoenixC.git url = https://[email protected]/elitec

git提交文件到github命令

1.安装git软件 git下载地址:链接:http://pan.baidu.com/s/1o8AKGyQ 密码:r7rk 安装着三个.exe文件,安装成功后在桌面鼠标右键会看到:git clone,TortoiseGit,然后选择TortoiseGit中->setting->选择语言——>简体中文,然后确定,git就这么简单安装成功啦! 2.windows(开始)->git->gitBash3.mkdir iGit//在c:\Users\Administrator盘创建iGi

编写良好的 git 提交信息

编写一个良好的 git 提交信息 提交信息 我们作一次提交,都会提交相关的修改信息,一般这些信息当时都会仔细考虑留下应该留下的那些重要信息,比如为什么需要这次提交,提交解决什么问题等. 而且我们需要好好组织这些信息,一边以后查看,因为这些跟代码一样重要,他们是历史,就像课本一样,一旦留下错误的信息或者难以理解的信息,将会对 后来者,产生非常多的麻烦. 提交信息规范 一般来说,提交信息没有什么强制性的规范,但是希望大家遵循一些基本的规则,这些规则有利于大家正确表达提交内容,留下重要的信息,而忽略那

git提交代码至远程仓库

代码提交 代码提交一般有五个步骤: 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交的文件 4.提交已暂存的文件 5.同步到服务器 1.     查看目前代码的修改状态 提交代码之前,首先应该检查目前所做的修改,运行git status命令 a)        已暂存 (changes to be committed) new file //表示新建文件 modified //表示修改文件 deleted //表示删除文件 b)       已修改 (changed but n

怎样用git提交多次改动

在提交完代码后,我们发现所改动的文件还有须要完好的地方,可是我们已经upload过了可是还未合入到库上,此时要提交新的改动有两种做法: 一是等上次的改动合入到库上后,再次upload提交一次,这明显是比較繁琐的方法: 还有一种方法就是amend改动,详细步骤是: (1)改动文件,然后 git add (2)git commit --amend (3)repo sync (4)repo upload 怎样用git提交多次改动,布布扣,bubuko.com

使用git 提交笔记

使用git 提交笔记 首先打开 git.lishiming.net 注册好一个自己的账号之后 创建新的项目 new projects 填上项目名称 再打开一个这个git网页  点击setting 再找到SSH-keys 再去终端上 执行命令 [[email protected] ~]# ssh-keygenGenerating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa):

git提交时支持文件名大小写的修改

在windows环境下,git提交文件时,默认对文件名大小写不敏感,若修改了文件名字的大小写,可能会导致提交时没有记录,文件名修改不成功.网上搜集了几种解决方法,现总结下: 1. 修改git config的配置 git config core.ignorecase false 经测试,发现当修改文件名字的大小写并提交后,git status里并没有删除文件的操作,只有新增操作.也就是git上的文件并没有直接替换,而是新增了一份. 2. 先删除旧文件,然后新增文件 git rm fileNames

git 提交新项目,并修改用户名以及提交邮箱  

本地有一个项目myweb,里面有.git目录. 线上新建了git仓库,gitweb. 现在要把myweb提交到线上. 直接在myweb目录下,以免冲突,提交不了.所以我用了copy的方法. 1.先把项目myweb的 .git目录,删除. 2.在/data目录下,git clone线上的仓库. 3.cp -r /data/myweb/* /data/gitweb 4.进入gitweb目录 5.git add . 6.git commit -m 'first commit' 7.git pull 8

基于git和intotify实现的git提交服务器自动更新的功能

基于inotify实现nodejs的提交后自动同步 首先在一台server上使用nodejs+express启动一个服务器,并使用supervisor 支持修改文件后 自动重启的功能 然后在这个工程上添加git仓库的引用(指向同一个服务器的另一个git仓库所对应的位置) 然后在所有人的本地开发环境也从server仓库中clone git 工程,并进行开发. 当提交代码后,使用inotify监控server 的git仓库文件变化. 如果发生变化后,通知线上运行的server 进行一次git pul