热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

git工作流程总结

git工作流程总结1.1初始化源仓库创建project之后会有如下基本操作提示,根据需要初始化源仓库代码:#Commandlineinstructi

git工作流程总结

1.1初始化源仓库
创建project之后会有如下基本操作提示,根据需要初始化源仓库代码:

# Command line instructions 命令行指令
# Git global setup git全局设置
$ git config --global user.name “your name”
$ git config --global user.email “your email”# Create a new repository 创建新仓库
$ git clone [url]
$ cd [dir]
$ touch README.md
$ git add README.md
$ git commit -m "add README"
$ git push -u origin master# Existing folder 现有文件夹
$ cd [existing_folder]
$ git init
$ git remote add origin [url]
$ git add .
$ git commit
$ git push -u origin master# Existing Git repository 现有git仓库
$ cd [existing_repo]
$ git remote add origin [url]
$ git push -u origin –all
$ git push -u origin --tags

初始化都会在远程仓库创建master分支,之后再基于master添加develop分支,这两条分支作为这个项目的常驻分支。

1.2git push & git pull 推送/拉取分支

git push与git pull是一对推送/拉取分支的git命令。
git push 使用本地的对应分支来更新对应的远程分支。

$ git push <远程主机名> <本地分支名>:<远程分支名>

注意: 命令中的本地分支是指将要被推送到远端的分支&#xff0c;而远程分支是指推送的目标分支&#xff0c;即将本地分支合并到远程分支。
如果省略远程分支名&#xff0c;则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名)&#xff0c;如果该远程分支不存在&#xff0c;则会被新建。
如果省略本地分支名&#xff0c;则表示删除指定的远程分支&#xff0c;因为这等同于推送一个空的本地分支到远程分支&#xff0c;这条命令是删除远程master分支。

$ git push origin :master
# 等同于
$ git push origin --delete master

上面命令表示删除origin主机的master分支。
如果当前分支与远程分支之间存在追踪关系&#xff08;即分支名相同&#xff09;&#xff0c;则本地分支和远程分支都可以省略。

$ git push origin

上面命令表示&#xff0c;将当前分支推送到origin主机的对应分支。

最后&#xff0c;git push不会推送标签(tag)&#xff0c;除非使用–tags选项。

$ git push origin --tags

git pull 获取并合并其他的厂库&#xff0c;或者本地的其他分支。
git pull 与 git push操作的目的相同&#xff0c;但是操作的目标相反。命令格式如下&#xff1a;

git pull <远程主机> <远程分支>:<本地分支>

如果省略本地分支&#xff0c;则将自动合并到当前所在分支上。如下&#xff1a;

git pull origin master

1.3功能开发
在本地对应功能分支上&#xff0c;新功能开发期间涉及到的基本操作&#xff1a;

# 切换分支
$ git checkout <分支名>
# 查看当前工作状态&#xff0c;比如变更的文件
$ git status
# 添加当前工作新增文件
$ git add <需要添加的文件>
# 提交代码到远程仓库
$ git commit –m “本次提交说明信息” <需要提交的文件>
# 将本次commit内容推到远程仓库功能分支
$ git push origin 本地分支名:远程分支名

1.4拉取远程仓库代码
本地操作拉取远程仓库代码&#xff0c;同步develop分支&#xff1a;

# 克隆远程仓库代码
$ git clone &#43; <远程仓库地址----ssh或http>
$ git clone git&#64;10.100.3.165:demo/mvcdemo.git

在这里插入图片描述
Clone之后会在本地克隆一个远程仓库的项目&#xff0c;默认初始分支master&#xff1b;

接下来&#xff0c;在本地新建个develop分支&#xff0c;并同步远程仓库develop分支代码&#xff1a;

# 新建本地develop分支
$ git checkout –b develop
# 同步远程develop分支
$ git pull origin develop:develop

在这里插入图片描述

1.5多人协作推送冲突解决

  1. 首先&#xff0c;可以试图用git push origin 推送自己的修改&#xff1b;
  2. 如果推送失败&#xff0c;则因为远程分支比你的本地更新&#xff0c;需要先用git pull试图合并&#xff1b;
  3. 如果合并有冲突&#xff0c;则解决冲突&#xff0c;并在本地提交&#xff1b;
  4. 没有冲突或者解决掉冲突后&#xff0c;再用git push origin 推送就能成功&#xff01;

注&#xff1a;如果git pull提示no tracking information&#xff0c;则说明本地分支和远程分支的链接关系没有创建&#xff0c;用命令git branch --set-upstream-to origin/

1.6总结

  1. 在master中add commit push .gitignore&#xff1b;
  2. 在master上新建develop分支&#xff0c;并跳转到develop分支&#xff1b;在master上新建develop分支&#xff0c;并跳转到develop分支&#xff1b;
  3. 在develop分支上搭建项目框架&#xff0c;add commit push 项目框架&#xff1b;在develop分支上搭建项目框架&#xff0c;add commit push 项目框架&#xff1b;
  4. 在develop上新建feature-cgh分支&#xff1b;在develop上新建feature-cgh分支&#xff1b;
  5. 在feature-cgh分支上作业&#xff0c;add commit 更改的内容&#xff1b;在feature-cgh分支上作业&#xff0c;add commit 更改的内容&#xff1b;
  6. 将feature-cgh分支合并到develop上去&#xff0c;并推送至远程develop上&#xff1b;将feature-cgh分支合并到develop上去&#xff0c;并推送至远程develop上&#xff1b;
  7. 将本地develop分支合并至master上&#xff0c;并推送至远程develop上。将本地develop分支合并至master上&#xff0c;并推送至远程develop上。

推荐阅读
author-avatar
Jerl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有