title: 学习Git并在Idea中使用
date: 2018-01-08
categories: idea
tags:
- git
- idea
- vcs
comments: false
学习Git并在Idea中使用
@Author GQ 2017年01月08日
再多人协同开发的项目中之前使用的是svn,现在转入使用
Git版本控制,需要学习记录一下
Git是目前世界上最先进的分布式版本控制系统(没有之一)
Git和Svn主要对比
- | Git | Svn |
---|---|---|
模式 | 分布式 | 集中式 |
存储方式 | 元数据 | 按文件 |
分支 | 同一目录 | 不同目录 |
全局的版本号 | — | 有 |
版本库 | 本地库和远程库 | 一个中央库 |
权限管理 | 自由配置账号 | 角色划分 |
Git安装和配置
###下载安装
官方下载地址 https://git-scm.com/downloads
- 按照步骤安装后在命令行输入
$ git --version
- 检查是否安装成功
Git使用
代码颜色
红色
代表未添加到暂存区绿色
代表添加到了暂存区,但是没有提交到版本库白色
代表工作区和版本库内容相同(即没有改变)蓝色
代表工作区和版本库之间发生了改变
简单操作
更新
git -> Repository -> pull
提交
//先commit
git -> commit File
//再push
git -> Repository -> push
撤销修改
git -> Revert
回退到某个版本
git -> Show History -> 选中某个版本 -> get
- 如果代码已经修改,但是需要在上一个版本修复bug,可以先把本次修改的文件隐藏
$ git stash //这里如果执行多次,会stash多个记录的改动
//可以通过下方命令查看
$ git stash list
//并取出想要的某次stash的记录
$ git stash apply stash@{1}
//不需要的情况可以清空stash栈
$ git stash clear
- 如果在更新的时候勾选了use stash,发现自己修改的代码不见了可以执行下面命令
$ git stash pop //取出暂未提交的变化
分支
git -> Repository -> Branches...
- 如图有一个本地分支库
Local Branches
一个远程分支库Remote Branches
- 每个库又包含一个
master
分支和dev
分支 - 默认有一个
current
指向当前分支,如上图 当前操作是在Local
库下的master
分支上
查看当前分支
$ git branch //标记*号为当前操作分支 -r表示查看远程 -a为全部
切换分支
- 选择要切换的分支名称点击
Checkout
- 或者输入命令
$ git checkout dev //dev为分支名称
合并分支
- 比如要将
dev
分支合并到master
上,首先切换到master
分支 - 然后合并
merge
- 或者执行命令
$ git merge dev //将dev合并到master上,这一步注意解决冲突
为新功能创建一个分支
一般情况下,每个功能都应该创建一个分支,但是就是懒
使用刚才的查询命令查看目前分支
可以拉取远程同伴创建的分支
$ git fetch
自己创建 Local Branch 然后推送到远程 remote
$ git push origin engine (engine是我本地创建的分支名称)
将自己创建的分支合并到主分支
本地项目关联远程仓库
本地新建的项目要放到GitOSC或者GitHub上
先在GitHub或者GitOSC上新建一个你的项目并拷贝https下载地址
打开本地项目的 terminal
初始化git
git init
添加远程仓库
git remote add origin https://gitee.com/你的项目名称.git
拉取代码
//可能会有刚创建时为了初始化项目生成的ReadMe文件
git pull origin master
将本地和远程关联
git branch --set-upstream-to=origin/master master
- 然后就是你熟悉的
add
-->commit
-->push
操作了