文档章节

项目中常用的git操作

qixuchao
 qixuchao
发布于 2017/07/06 14:19
字数 1122
阅读 4
收藏 0

GIT操作

GIT(分布式版本控制系统)

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

GIT流程

st=>start: 开始
e=>end: 结束
clone=>operation: git clone url
pullA=>operation: git pull origin develop:develop
checkoutA=>operation: git checkout -b feature/A
code=>operation: 编写代码/修改代码
add=>operation: git add
commit=>operation: git commit
checkoutB=>operation: git checkout develop
pullB=>operation: git pull origin develop:develop
merge=>operation: git merge feature/A
conflict=>operation: 如果有冲突,解决冲突
push=>operation: git push origin develop:develop

st->clone->pullA->checkoutA->code->add->commit->checkoutB->pullB->merge->conflict->push->e
  • git clone

git clone 可以从远程服务器的git库中克隆代码到本地的当前目录

  • git pull

当本地已经存在相应的git库时,可以使用 git pull 从服务器同步最新的库到本地

示例:同步服务器的develop分支到本地的develop分支。

git pull origin develop:develop
  • git checkout

git checkout 切换当前分支

示例:切换当前分支到 a 分支

git checkout a

git checkout -b 创建分支,并切换到创建的分支

示例:创建分支 c ,并切换到c分支

git checkout -b c
  • git add

git add 提交当前修改到本地缓存

可以使用 git add (文件名称) 提交单一文件 也可以使用 git add -A 或是 git add --all 提交全部修改的文件

  • git commit

git commit 提交本地缓存修改的内容到本地git库

可以使用 git commit -M "提交内容的说明" ,填写提交说明 建议直接使用 git commit ,然后弹出界面填写提交说明

提交commit时,必须给出完整扼要的提交信息,下面是一个范本。

Present-tense summary under 50 characters

* More information about commit (under 72 characters).
* More information about commit (under 72 characters).

第一行是不超过50个字的提要,然后空一行,罗列出改动原因、主要变动、以及需要注意的问题。

  • git merge

git merge 将指定分支的内容,合并到当前分支

示例:当前分支为develop分支,我需要将分支c的内容合并到develop分支。

git merge c

在做merge和push的时候,会出现代码冲突(conflict)的问题,git会自动合并可以合并的冲突,无法合并的冲突,需要手工进行冲突合并

  • git push

git push 将本地库推送提交到服务器的git库上

示例:将本地的develop分支同步到服务器的develop分支上。

git push origin develop:develop

其它常用的Git命令

  • git status

git status 可以查看当前分支的状态,如代码是否被修改、新增的代码等

  • git branch

git branch 查看git库分支

git branch 查看本地库有哪些分支 git branch -A 查看远程库有哪些分支

  • git log

git log 查看git库日志

  • git reset

git reset 回退到git库的历史提交commit

  • git config

git config 可以修改git的设置信息

其它

  • git库文件夹下的 .git 文件夹中是当前的git库的信息

  • .git/config 文件中存储的是当前git库的设置信息

可以通过修改config文件,修改git库的url指向 可以通过修改config文件,修改git库的分支对应 可以通过修改config文件,修改当前git库使用的用户名和邮箱

  • 设置git提交ignore列表

代码中很多内容是不希望提交到服务器库中的,如target、idea个人配置信息、jar包等,可以通过设置ignore列表进行提交检查屏蔽

.git/info/exclude 文件中可以设置ignore列表 示例:ignore项目中的target文件夹和.idea文件夹

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
target/
.idea/
*.iml

图形化GIT

虽然强烈推荐使用命令行进行git操作,但是也有图形化git客户端供大家使用,满足非技术人员的需要。

使用git客户端进行版本管理,同样需要遵循git的流程

  • GUI Clients 官方推荐图形客户端,罗列的包括了Mac、Windows、Linux下的客户端,免费及付费的都有。
  • Tortoise Git Windows平台下的开源Git图形界面。
  • GitX(L) Mac OS X下的开源Git客户端。
  • SourceTree Windows和Mac下的免费Git或Mecurial界面。
  • git-cola 一款开源Git界面。

© 著作权归作者所有

共有 人打赏支持
qixuchao
粉丝 0
博文 5
码字总数 3405
作品 0
我工作中常用的Git命令

本篇文章记录的是博主在现实工作中常用的Git命令....... 注:如果想了解更全面的Git命令请咨询度娘或者官方文档 克隆项目 git clone -b 要更新的分支名称(如:master) http://用户名:密码@ 1...

mamadu
2017/07/20
0
0
使用git管理源码之初始化仓库

虽然 progit.zh.pdf 这本书写的非常的详细,但是也许还有部分人并没有读过这本书。当然在学习git的过程中,写博客也能帮助我更好的理解。之前自己写过一个关于git 基础使用的ppt。现在想在开...

ni_cu
2015/05/04
0
0
我的git使用记录

git的教程现在琳琅满目,需要学习的东西也有很多,一下子接受不了那么多的东西,所以打算记录在实用的过程中常用的操作和遇到的问题。 基本操作 git init git add . git add -A git add [fil...

张辉原
2017/06/15
0
0
[vim] 使用 fugitive.vim 处理 git merge 文件冲突

fugitive.vim 是一个处理 git 信息的 vim 插件。 非常好用,这里展示下怎样用它来处理 git merge 操作中常遇到的文件冲突。 在项目目录中打开 vim, command 模式下输入命令,出现以下界面...

邪云子
2015/05/10
0
0
使用SSH快速下载Git项目

文章首发于【博客园-陈树义】,点击跳转到原文使用SSH快速下载Git项目。 Git下载项目的几种方式 Git是常用的代码版本技术,而GitLab则是开源的Git版本管理软件,GitLab是最受欢迎的版本管理开...

陈树义
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
211
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部