一、公司团队开发基本操作(重点)
- 总结的经验:
(1)每次开发前和开发完成后要及时pull拉取代码,开发完成后要及时push
(2)使用rebase命令使提交代码更加整洁
- 具体使用流程案例:
1、开发前从远程仓库pull代码,然后进行开发,开发完成后再从远程仓库pull代码
2、git add .(有.ignore文件情况下面,把所有修改的文件放入临时区)
3、git commit -m "提交信息记录"
4、git fetch(拉取代码,防止前面没有拉取,产生冲突)
5、git rebase origin develop(合并代码到develop分支上,公司基本上两个分支,一个master一个develop,开发基本上再develop上进行)
6、git push origin develop(向远程分支进行推送)
二、gitignore文件
- 使用ide开发时候需要忽略的文件.classpath文件、.project文件、.settings等目录下文件,因为在同一个团队中难以保证大家使用相同的ide工具,而ide工具的不同,相关的特定文件就有可能不同,因此加入版本控制器时候,就有可以能要对这些文件进行冲突解决。
- gitignore文件模板
##############################
## Folders ##
##############################
target
.idea
.settings
.classpath
##############################
## Netbeans conf ##
##############################
*.iml
*.idea
*.gitignore
.project
三、多次commit后合并到一个commit上,使提交内容更简洁
- git rebase -i HEAD~n命令进行合并
- 案例说明,合并最近提交的三条记录到一条:
$ git reflog
1a52fd7 (HEAD -> master) HEAD@{0}: commit: 4
490e5dc HEAD@{1}: commit: 3
41b7eeb HEAD@{2}: commit: 2
1、git rebase -i HEAD~3命令后跳转到下面vi命令行
//4次提交的commit倒序排列,最上面的是最早的提交,最下面的是最近一次提交
pick 41b7eeb 2
pick 490e5dc 3
pick 1a52fd7 4
# Rebase d354161..1a52fd7 onto d354161 (3 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
2、修改后
pick 41b7eeb 2
squash 490e5dc 3
squash 1a52fd7 4
...
3、进行保存,git会压缩提交历史,如果有冲突,需要修改,修改的时候
要注意,保留最新的历史,不然我们的修改就丢弃了,保留后显示下麦你的信息
[detached HEAD f509fc7] 2
Date: Sun Sep 16 19:54:19 2018 +0800
1 file changed, 1 insertion(+), 1 deletion(-)
Successfully rebased and updated refs/heads/master.
4、然后敲下面的命令
git add .
git rebase --continue
如果想放弃则是下面命令:
git rebase --abort
5、
四、创建分支并合并分支
- 由于新需求的来临,boss要求在新分支上开发然后合并到主分支
1、创建分支
git branch dev
2、切换到分支上进行开发
git checkout dev
然后进行相应的代码开发
3、在dev分支上进行代码提交到远程仓库
git add .
git commit -m "dev"
git push origin dev(远程提交)
如果想放弃提交:
git push origin :dev
4、切换回master主分支进行合并,这里使用rebase
git checkout master
git rebase dev
-->如果有冲突先执行
*先解决冲突
*git add .
*git rebase --continue
-->如果没有冲突可以直接执行
git push origin master
网友评论