美文网首页
git 命令的简单使用

git 命令的简单使用

作者: 涛涛123759 | 来源:发表于2019-07-16 15:15 被阅读0次

1、 git 拉项目

#在自己的工作区,通过git bash
1、git clone url(gitlab上项目的url) 从gitlab上clone下项目
#进入该项目clone的目录
2、git branch -a (查看当前项目)  所有的分支

2、 git 回滚项目

#打印日志
1、git log
#回滚到指定的版本(e377f60e28c8b84158 回滚到的版本)
2、git reset --hard e377f60e28c8b84158
#或
     git revert HEAD(e377f60e28c8b84158)
#强制提交
3、git push -f origin master
#或 
git push --set-upstream origin test_branch

3、 git 提交到分支

git push origin pu_branch(分支名)

4、 git 切换分支

git checkout 具体的branch名字    切换到对应的分支

5、合并分支

#查看各个分支情况
git log --oneline --decorate --graph --all
git log --oneline --decorate

将分支 test_branch 的代码合并到 pu_branch

#切换分支
1、git checkout pu_branch
#合并代码
2、git merge test_branch
# --commit参数使得合并后产生一个合并结果的commit节点。该参数可以覆盖--no-commit。
# --no-commit参数使得合并后,为了防止合并失败并不自动提交,能够给使用者一个机会在提交前审视和修改合并结果。
# --edit和-e用于在成功合并、提交前调用编辑器来进一步编辑自动生成的合并信息。因此使用者能够进一步解释和判断合并的结果。
# --no-edit参数能够用于接受自动合并的信息(通常情况下并不鼓励这样做)。
git merge --no-edit test_branch

6、git rebase

rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去,采用rebase的方式进行分支合并,整个master分支并没有多出一个新的commit。

#切换到bugFix分支
1、git checkout bugFix
#提交一次(提交在bugFix分支上)
2、git commit - m "标志"
#使用git rebase把 bugFix 分支里的工作直接移到 master 分支上(移动以后会使得两个分支
#的功能看起来像是按顺序开发,但实际上它们是并行开发的。
3、git rebase master
#注意:提交记录 C3 依然存在(树上那个半透明的节点),而 C3是我们 Rebase 到 master 分支上的 C3 的副本。
#切换到master分支上(为了进行更新master的操作)
4、git checkout master
#把master的 rebase 到 bugFix 分支上(由于 bugFix 继承自 master,所以 git 只是简单的把 
#master 分支的引用向前移动了一下而已。)
5、git merge bugFix
git checkout master
git pull
git checkout local
git rebase -i HEAD~2  //合并提交 --- 2表示合并两个
git rebase master---->解决冲突--->git rebase --continue
git checkout master
git merge local
git push
  • git merge 操作合并分支会让两个分支的每一次提交都按照提交时间(并不是push时间)排序,并且会将两个分支的最新一次commit点进行合并成一个新的commit,最终的分支树呈现非整条线性直线的形式
  • git rebase 操作实际上是将当前执行rebase分支的所有基于原分支提交点之后的commit打散成一个一个的patch,并重新生成一个新的commit hash值,再次基于原分支目前最新的commit点上进行提交,并不根据两个分支上实际的每次提交的时间点排序,rebase完成后,切到基分支进行合并另一个分支时也不会生成一个新的commit点,可以保持整个分支树的完美线性
常用指令

git rebase -I dev 可以将dev分支合并到当前分支
这里的”-i“是指交互模式。就是说你可以干预rebase这个事务的过程,包括设置commit message,暂停commit等等。
git rebase –abort 放弃一次合并
合并多次commit操作:
1 git rebase -i dev
2 修改最后几次commit记录中的pick 为squash
3 保存退出,弹出修改文件,修改commit记录再次保存退出(删除多余的change-id 只保留一个)
4 git add .
5 git rebase --continue

7、误删之后恢复

1、git log --oneline --decorate --graph --all
#当我们是丢掉了我们第二次的提交,没有办法找回来了。但是 reflog 就是用来解决这个问
#题的。简单的说,它会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的
#时候,这些操作会被记录在reflog中
2、git reflog
#所以,我们要找回我们第二commit,只需要做如下操作:
3、git reset --hard 98abc5a

8、删除具体某个提交commit的方法

git revert b7231c0
或者
git revert b7231c0 -m 1
或者
git rebase -i 38d60623
  • 将#2这一行前面的pick改为drop,然后按"shift" + ":", 在输入“wq”保存退出
    至此已经删除了指定的commit,可以使用git log查看下
  • git push origin HEAD --force 然后推送到远程仓库
    此时 commit_B 就被干掉了,没有影响后面的提交

9、查看/修改自己的用户名和邮箱地址

#查看
$ git config user.name
$ git config user.email
#修改
$ git config --global user.name "xxx"
$ git config --global user.email "xxx"

8、查看配置命令

#查看系统config
git config --system --list
#查看当前用户(global)配置
git config --global  --list
#查看当前仓库配置信息
git config --local  --list

9、同步和删除远程分支

  • 同步:
git fetch -p
  • git 删除本地分支
git branch -D br
  • git 删除远程分支
git push origin :br  (origin 后面有空格)

10、提示

# 显示每次修改的文件列表及修改状态
git log --name-status 
# 显示每次修改的文件列表
git log --name-only 
# 显示每次修改的文件列表及文件修改的统计
git log --stat 
# 显示每次修改的文件列表
git whatchanged 
# 显示每次修改的文件列表及统计信息
git whatchanged --stat
# 显示最后一次的文件改变的具体内容
git show

参看文章:

git合并分支git Merge细节部分

这个是重点要说的内容,过程比本地回滚要复杂
应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支

操作步骤:

1、git checkout the_branch
2、git pull
3、git branch the_branch_backup //备份一下这个分支当前的情况
4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id
5、git push origin :the_branch //删除远程 the_branch
6、git push origin the_branch //用回滚后的本地分支重新建立远程分支
7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支

相关文章

  • 命令行的简单使用

    Git命令行的简单使用,仅供自己使用 pod命令行的简单使用

  • 使用Git上传代码到码云

    一.git使用简单流程 1.使用git clone命令将码云项目克隆到本地 2.使用git add .命令(. 表...

  • git 命令简单使用

    先在github里创建远程仓库 本地git操作 做下面操作的前提是,已经将本地git与github关联(这部分操作...

  • git 命令简单使用

    1.初始化工程 (1)首先建立想要使用git管理的目录 mkdir gitDemo cd gitDemo...

  • git使用简单命令

    1.初始化本地git仓库:git init 2.本地仓库连接远程仓库:git remote add origin ...

  • Git命令的简单使用

    一.初始化git仓库如果你打算使用 Git 来对现有的项目进行管理,你只需要进入该项目目录并依次输入: $ git...

  • git 命令的简单使用

    1、 git 拉项目 2、 git 回滚项目 3、 git 提交到分支 4、 git 切换分支 5、合并分支 将分...

  • Git命令使用

    本文将简单介绍git init 、git add 、git commit 三种命令的使用方法如图: 1、由上图可...

  • git实践总结

    一、git组成部分 二、git简单使用 1、文件恢复 git命令描述git checkout 文件名该文件回到最开...

  • Git操作记录

    本文目录 一台电脑配置多个git账号 git常用的操作命令 使用git命令合并多条commit记录 使用git命令...

网友评论

      本文标题:git 命令的简单使用

      本文链接:https://www.haomeiwen.com/subject/tvqqvqtx.html