1.开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
--1.更新本地master代码
git checkout master
git pull
--2.更新本地dev代码
git checkout dev
git pull
--3.合并master代码到dev分支(保证dev分支代码跟master保持一致)
git checkout dev
git merge master
git push -u origin dev
--4.合并dev分支到master代码
git checkout master
git merge dev
git push -u origin master
2.当master代码改动了,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
git merge master
git push -u origin dev
3.git commit时 忽略contents have differences only in line separators
crlf 和 lf 是文本换行的不同方式:
- crlf: "\r\n", windows系统的换行方式
- lf: "\n", Linux系统的换行方式
他们之间的不同经常会导致不同会导致使用不同系统的同事之间的代码冲突问题。
在你使用git拉取代码的时候,git会自动将代码当中与你当前系统不同的换行方式转化成你当前系统的换行方式,从而造成这种冲突。
window系统解决办法:
修改git全局配置,禁止git自动将lf转换成crlf, 命令:
git config --global core.autocrlf false
4.强制覆盖本地代码(与git远程仓库代码保持一致)
这种方法会放弃本地commit,强制让本地分支和远程仓库保持一致
--1.覆盖本地master代码,保持跟远程仓库一致
git fetch --all
git reset --hard origin/master
git pull
--2.覆盖本地dev代码,保持跟远程仓库一致
git fetch --all
git reset --hard origin/dev
git pull
5.修改commit message
我们提交commit后,又想修改commit的消息内容,可以用以下方式:
修改最近一次提交的commit message
git commit --amend
--输入该命令后,会让你输入修改后的message,然后回车确定即可
修改之前提交的commit message(在最后一次提交之前的commit)
--修改距离此版本之前的第三条,输入该命令,然后再输入修改后的message
git rebase -i HEAD~3