文档章节

项目中常用的git操作

qixuchao
 qixuchao
发布于 2017/07/06 14:19
字数 1122
阅读 7
收藏 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
博文 6
码字总数 3826
作品 0
私信 提问
我工作中常用的Git命令

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

mamadu
2017/07/20
0
0
我的git使用记录

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

张辉原
2017/06/15
0
0
使用git管理源码之初始化仓库

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

ni_cu
2015/05/04
0
0
[vim] 使用 fugitive.vim 处理 git merge 文件冲突

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

邪云子
2015/05/10
0
0
新人学习之IDEA中常用的git操作

刚来阿里实习一周,学习了很多关于阿里的技术框架,包括pandora-boot,hsf,tddl等,在教程中最常见的就是“将代码上传至gitlab”这一步。之前用了很多年eclipse,现在开始慢慢适应IDEA的操作...

zcccccc
2018/07/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部