关于工作中Git相关的总结

  来公司一周多,主要是在熟悉各种环境和流程,而作为研发来讲,git的使用也是必不可少的。以前使用方式单一,几个人对着master,pull和push,来了之后发现其实在日常的开发中,git可以很方便的帮我们进行分工和合并,这里总结一些平时可能会用到的命令和要点:

1. 开发模式:

  也了解过,其实部门内部基本上都是分支开发的模式,很少有人做主干开发,这样的好处也是可以保证主干的可持续发布(主干好像是被发布服务Odin接管了)。那现在基本的开发模式(对于我这个单用户来说),是这样的:

  可能有些麻烦,但是这样可以保证每次dev更新可以及时合并到本地,并且加了本地dev就不需要远端merge之后立刻拉最新的代码。当然远端会有很多分支,之后开发的版本多了,功能多了,这个图还会再做调成,本地可能也会多一些分支做不同的模块修改。

2. 基本命令

  pull:这个是远程仓库拉取数据到本地仓库,就是为了和远程仓库所匹配

  commit:当我们想要把自己的代码想要提交到远程的时候,所用的命令行语句,由于我们修改所在的区域在暂存区

  我们首先要把自己的代码commit(提交)到本地仓库,然后在从本地仓库push到远程仓库,但是切记住一点,我们如果每一次在commit的时候,我们都需要先从线上pull最新的代码到本地仓库,然后在把暂存区里面的代码提交到本地仓库,这个时候如果没有冲突固然是最好的,如果有了冲突,这我需要解决冲突,这个此时本地仓库已经是最新的代码

且又包括暂存区上面的代码了。

  push:这个就是我们前面把代码提交到了本地,如果我们需要提交到远程服务器上,需要把代码push到远程的分支里面。(git push origin local_branch:remote_branch

  merge:如果有两个分支里面的代码在同一个区域中(两个同时隶属于暂存区,或本地仓库,或远程仓库),这个时候需要把这个两个分区合并。

补充:

  每次自己的代码更新之后,晚上最好都推到自己的分支上去,及时更新!

  远程分支就是本地分支push到服务器上的时候产生的。比如master就是一个最典型的远程分支(默认)。

3. Git查看、删除远程分支

查看远程分支
  加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话):
$ git branch -a

删除远程分支
在Git v1.7.0 之后,可以使用这种语法删除远程分支:
$ git push origin --delete <branchName>

否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:
git push origin :<branchName>

两种语法作用完全相同。

4. git log命令

  git log --graph --decorate --oneline --simplify-by-decoration --all

说明:

  --decorate 标记会让git log显示每个commit的引用(如:分支、tag等)

  --oneline 一行显示

  --simplify-by-decoration 只显示被branch或tag引用的commit

  --all 表示显示所有的branch,这里也可以选择,比如我指向显示分支ABC的关系,则将--all替换为branchA branchB branchC

  

  这个可以很清楚的显示,当然这两天用了idea查看发现IDE显示的更清晰。。

5. git 对比两个版本之间差异

  比如我们有 2 个分支:master, dev,现在想查看这两个 branch 的区别,有以下几种方式:

  - 查看 dev 有,而 master 中没有的:git log dev ^master
  - 同理查看 master 中有,而 dev 中没有的内容:git log master ^dev

  - 查看 dev 中比 master 中多提交了哪些内容:git log master..dev

  - 不知道谁提交的多谁提交的少,单纯想知道有什么不一样:git log dev...master

  - 在上述情况下,再显示出每个提交是在哪个分支上:git log --left-right dev...master

6. git merge 和 git rebase 

  之前知道git pull 等于 git fetch + git merge,但是今天看到rebase的命令,还是和merge很像的,两个都是用来合并两个分支用的,在使用过程中,这两个概念容易混淆。

  然后这篇博文写的很清楚:http://www.jianshu.com/p/c17472d704a0

  但是其实开发中我主要还是用的merge,还是要深刻理解下吧。

git reset --hard,soft

git stash ,git pop  

时间: 2024-08-04 22:06:15

关于工作中Git相关的总结的相关文章

工作中git 操作汇总

1. git branch -l  查看本地branch 2. git reset --hard 回滚所有改动 3. git status  查看本地改动 4. git pull 更新代码 5. git commit -a  提交代码 6. git push 提交到服务器 7. git fetch origin xxxxxx  把服务器拉下某个branch 8. git checkout xxxxx  将xxxxx设为工作目录

我工作中常用的Git命令

本篇文章记录的是博主在现实工作中常用的Git命令....... 注:如果想了解更全面的Git命令请咨询度娘或者官方文档 克隆项目 git clone -b  要更新的分支名称(如:master)  http://用户名:密码@ 192.168.66.66/root/xxx.git 说明:    1.克隆前先创建好要存放项目的目录,路径尽量不要有中文 2.这里使用的是http协议的+指定分支名称+指定用户名和密码 2.更新项目   +   提交项目 博主强烈建议使用SourceTree等工具进行更

工作中常用Git指令操作

常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的文章也就呼之欲出,总结外加研究一些难啃的指令.Git工作流,后期会慢慢更新. 一.GIt的alias 1.先来说说自己比较喜欢用的简写指令,可根据个人自行配置,下图是本人自己工作常用的git简写: 2.像这样使用:  git st ---查看文件提交状态   git ci -m "提交信息说明&qu

关于git你日常工作中会用到的一些东西

前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary 摘要 track 跟踪 modify 修改 stage 暂存 commit 提交 push 推送 pull 拉取 clone 克隆 amend 修改 merge 合并 conflict 冲突 origin 源 upstream 上游 downstream 下游 verbose 详情 reflog

工作中比较常用的git命令

git config core.filemode false git忽略文件的权限 git - 查看远程仓库信息git remote show origin git拉取远程分支到本地 git checkout origin/remoteName -b localName git查看提交的文件名称记录 git log --name-only git 显示短的校验和,并与提交描述显示在同一行. git log --oneline git log - -author=CnPeng 就会展示出CnPen

git在工作中的用法总结-使用篇

上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一.git本地基础用法 1.创建代码仓库 git init 2.加入所有目录到仓库 git add . 3.提交 git commit -m "first commit" 简写 git ci 4.查看git提交状态 git status 简写 git st 5.借助diff查看具体修改的地方

工作中linux定时任务的设置及相关配置

工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次    0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type f -ctime +60 -exec rm -f {} \; ------------------------------------------------------------------- linux定时任务的设置 Posted on 2010-09-23 23:49 疯狂 阅读(13760

Ubuntu中Git服务器搭建

git服务器搭建过程 参考网上资料搭建git服务器过程记录 如下: 需求 硬件需求:一台Ubuntu或者debian电脑(虚拟机),能通过网络访问到. 软件需求:git-core, gitosis, openssh-server, openssh-client, Apache2(Gitweb) 安装配置git服务器 安装git和openssh: [email protected]:~$sudo apt-get install git-core openssh-server openssh-cli

工作中的程序员如何进阶

前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用. 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样. 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节. 一定要学会思考,思考为什么要这样,