git命令

说明

master分支:稳定的分支
develop分支:开发分支

lujinkai:开发人员分支
xiaoming:开发人员分支
...

master分支是上线的代码,develop是开发中的代码,lujinkai、xiaoming等是开发人员分支,开发在自己的分支里面写代码,然后下班前提交、合并到develop分支,等项目开发、测试完,最后再合并到master分支,然后上线

常用命令

[root@kafka2 testproject]$git branch		# 查看本地分支
* master	# 分支前标 * 表示当前处于的分支

[root@kafka2 testproject]$git branch -a		# 查看所有分支
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/ludongsheng
  remotes/origin/master
  
git status      # 查看工作区的状态
git branch test # 创建test分支
git merge test  # 将test分支合并到当前分支
git log         # 查看操作日志
git reflog      # 获取每次提交的ID,可以使用--hard根据提交的ID进行版本回退

vim .gitignore          	# 定义忽略文件,即不放在仓库的文件

git reset --hard HEAD^^ 	# git版本回滚, HEAD为当前版本,加一个^为上一个,^^为上上一个版本

git reset --hard 5ae4b06 	# 回退到指定id的版本

git checkout -b develop 	# 创建并切换到一个新分支
git checkout develop    	# 切换分支

git clone -b 分支名 仓库地址	# clone指定分支的代码

流程

  1. 在 gitlab 创建个人分支 lujinkai

  2. 克隆 master 分支到本地

    [root@dev ~]$git clone git@gitlab.ljk.local:testgroup/testproject.git
  3. 切换到自己分支

    [root@dev ~]$git checkout lujinkai
  4. 将develop分支拉下来和个人分支合并

    [root@dev ~]$git pull origin develop
    
    # git pull <远程主机名> <远程分支名>:<本地分支名>
    # 如果与当前分支合并,则冒号后面的部分可以省略

    以上命令是把远程分支develop拉下来,然后合并到当前分支lujinkai,或者可以拆分成以下步骤:

    git checkout develop			# 切换到分支develop
    git pull origin develop			# 远程develop拉下来和本地develop合并
    git checkout lujinkai			# 切换到分支lujinkai
    git merge develop --no-commit	# 将本地分支develop和当前分支lujinkai合并
  5. 开发代码

  6. 下班了,需要提交代码,但是在提交之前最好再执行一遍上一步,因为在你写代码的过程中,develop分支可能有其他人提交

    [root@dev ~]$git pull origin develop
  7. 添加文件到本地缓存区

    [root@dev ~]$git add .		# . 表示当前目录下的所有文件
  8. 提交内容到本地分支上

    git commit -m "注释, 提交说明"
  9. 上传本地分支到远程分支

    git push
    
    # 默认提交到本地分支对应的远程分支,或者可以显式指定
    git push origin lujinkai

之后每天 3 - 9 步骤走一遍

清除commit记录

  1. 克隆仓库 (这时工作目录里是master分支最后一次提交的内容)
  2. 创建一个新的空的分支
  3. 添加工作目录里所有文件到新的分支并做一次提交
  4. 删除master分支
  5. 将新的分支更名为master
  6. 强制更新到github仓库
git clone [URL] && cd [仓库名]           # 克隆git仓库,进入仓库
git checkout --orphan  new_branch		# 创建一个新的空的分支
git add -A								# 添加工作目录里所有文件到新的分支
git commit -am 'v1' 					# 做一次提交
git branch -D master					# 删除master分支
git branch -m master					# 将新的分支更名为master
git push origin master --force			# 强制更新到github仓库