liujijiang

git

2020.02.08

centos 安装git

yum install curl-devel expat-devel gettext-devel
openssl-devel zlib-devel
yum -y install git-core

查看git版本

git --version

配置git个人信息

git config --global user.name "用户名"
git config --global user.email xxxxxxxxx@xx.com

查看配置信息

git config --list

git创建仓库

git init

默认当前路径,可以自定义路径,会在目录下创建一个.git仓库

git init 路径

文件加到仓库中并提交

git add 文件名
git commit -m '初始化版本'

git clone从远端仓库中复制项目到本地

git clone

参数:

  1. repo:Git 仓库。
  2. directory:本地目录。

git 使用

查看状态

git status

添加当前分支内容

git add .

提交内容

git commit -m "完成了登录功能"

查看当前分支

git branch

切换到主分支上把当前分支内容放到主分支上

git checkout master
git merge --no-ff login(login 是当前分支名字)

推到GitHub 或者 gitee 上

git push

git分支

分支(branch)
合并(merge)

主分支Master

有且只有一个,给用户使用的正式版本都在这个分支上

初始化时自动创建主分支,并且默认在主分支上

开发分支Develop

日常开发所在的分支
如果想正式对外发布,就切换到主分支Master上并且合并开发分支
创建开发分支

git checkout -b develop master

切换到主分支

git checkout master

对develop分支进行合并

git merge --no-ff develop

--no-ff:git默认执行快速合并,直接将主分支Master执行开发分支Develop,--no-ff表示执行正常合并,在主分支上增加一个节点表示此次合并的结果

临时性分支

使用完应该删除,只有Master和Develop就够了

  • 功能(feature)分支
  • 预发布(release)分支
  • 修补bug(fixbug)分支

feature

从Develop分支上面分出来的,开发完再合并到Develop

创建功能xxx的分支

git checkout -b feature-xxx develop

切换到develop分支,合并feature分支到develop分支

git checkout develop
git merge --no-ff feature-xxx

删除feature分支

git branch -d feature-xxx

release

develop分支完成后,到Master分支之前,有一步release分支
用于发布之前的测试等等
确认没问题后合并到Master分支以及develop分支

从develop分支中创建release分支

git checkout -b release-2.0 develop

合并到主分支上

git checkout master
git merge --no-ff release-2.0

加一个标签

git tag -a 2.0

合并到开发分支上

git checkout develop
git merge --no-ff release-2.0

删除release分支

git branch -d release-2.0

Fixbug

上线后出现bug,从Master分支上分出来fixbug分支修补bug,然后合并到Master和develop分支

创建fixbug分支

git checkout -b fixbug-1.1 master

修改完后合并到Master分支

git checkout master
git merge --no-ff fixbug-1.1
git tag -a 1.1

合并到develop分支

git checkout develop
git merge -no-ff fixbug-1.1

删除fixbug分支

git branch -d fixbug-1.1

git连接GitHub

生成ssh key

会在~/路径下生成.ssh文件

到.ssh文件中

  • cd ~/.ssh
  • vim id_rsa.pub

有三个文件,打开id_rsa.pub文件并复制其中的全部内容

到GitHub中,settings -- SSHandGPGkeys -- newSSHKey

截屏2020-02-08下午5.54.18-b6059b6633f84ea0a9e1c574eef61564

截屏2020-02-08下午5.56.47-a0ce66450b7b4aad8451610ba3a302ab

名字随便,复制刚才复制的key到下面,点击add

新建一个repository

截屏2020-02-08下午5.59.01-ef9a8c96b91d45fcbed5f53b52934501

name中需要填写,剩下的可以省略

上传项目

创建一个文件夹

  • mkdir github
  • cd github/
  • mkdir test
  • cd test/

创建测试用例

  • echo "# 首次上传测试" >> README.md

初始化

  • git init

添加文件

  • git add README.md

提交并备注信息

  • git commit -m "上传README.md"

提交到GitHub

  • git remote add origin git@github.com:yourUserName/yourRepositoryName.git
  1. yourUserName: 创建仓库时仓库名前面的Owner的名字
  2. yourRepositoryName: 创建仓库是填的仓库名字
  • git push -u origin master

刷新GitHub仓库就可以了

git会检测你是否修改了代码,当你add 或 commit的时候会提示你哪些文件修改了,
如果你没有做任何修改会提示工作区干净。
第一次提交需要romote,之后就可以commit后直接push origin master