git add.和git commit这两个在git pull前面还是后面啊

问题描述

目前我都是git add.,然后git commit -m 'xxx',然后git pull ,然后git push

问题出现的平台版本及自己尝试过哪些方法

由于有时候在家里修改了代码,但是忘记了提交(修改时间在前),在公司修改提交了(修改时间在后),如果再回家提交就会出现报错,这个时候就会跟尴尬,因为不熟悉,每次都要折腾很久。如果公司修改代码忘了提交,我用向日葵开机棒开机然后teamviewer远程提交,但是这个也不是个办法,所以我想问一下是我的顺序错了吗?应该先pull吗?

阅读 18k
9 个回答

提交之前更新一遍就没问题

先pull先合并,后pull后合并,如果修改部分没有交集,就一样。
如果有,推荐先pull先合并。

首先应该理解git的原理。
git分为两个仓库,一个是本地的,一个是远程的
git add .和git commit都是针对你的本地仓库
git add做了什么,你可以简单理解是标记下那些文件要被提交到本地仓库
git commit就是把你标记的文件提交到本地仓库
git pull是从远程仓库拉代码并merge到你的本地仓库,pull是两个命令的合(fetch和merge)
所以理论上pull在这两个之前之后都没什么问题,但是通常推荐先pull,我的习惯是
pull、add、commit

git用于多人开发, 你每次提交代码前要拉取队友的代码git pull, 然后再提交你的代码.

尝试 git pull origin [your-branch] --rebase
如果不 pull,commit 后直接 push,有冲突时会报错,这应该就是你所遇到情况(“如果再回家提交就会出现报错”)。
commit 后 push 之前需要 pull --rebase,然后再 push。pull 最好加 --rebase,可以将刚刚的 commit rebase 至远程最新的 commit,这样有时可避免直接 pull 造成的无用 merge 提交(因为 pull 等于 fetch && merge,如果远程提交比你本地提交新,就会产生 merge)。当然如果有冲突,是否加 --rebase 还都要手动解决冲突,然后再 push。

全部的步骤是这样的 第一步:你在本地创建个仓库 git init 第二步: git remote add origin (这里放SSH)密钥 第三步: git pull origin master 先拉一下 防止版本冲突造成的问题。 第四步 git add . 将代码放到暂存区 第五步: git commit -m 生成本地版本 第六部: git push origin master 推送上去。

每次push前都最好pull一下

每天上班的时候先git pull更新一下你同事写的代码到本地,之后再上传你自己写的代码。我一般都是这样还没遇到过问题

最佳实践是建立自己的分支修改代码,完成后,提MR合并到集体的开发分支。

流程:

git checkout develop
git checkout -b self_branch
// 修改代码
git add .
git commit -m 'xxxxx'

Git网站发起Pull Request,把self_branch合并到develop分支,然后让同事review你的代码,以及合并。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进