git干货

git的常用操作

创建仓库

创建仓库分为两种情况

  1. 直接克隆git服务器建好的仓库
  2. 本地先初始化仓库后管理git服务器仓库

直接克隆

git clone git@git.cnsuning.com:xxx/xxxx.git
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master   //-u是--set-upstream的简写目的是关联本地和远程本质
复制代码

本地先初始化

这种情况需要初始化一个本地仓库,然后,将本地仓库的源指向服务器

git init
git remote add origin git@opensource.cnsuning.com:18044854/qwe.git
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
复制代码

创建分支

  1. 以本地分支为基础创建分支
  2. 以远程分支为基础创建分支

以本地分支为基础

创建分支时,以本地当前所在的分支为基础,创建分支

git branch <branchName>       //新建分支
git checkout -b <branchName>  //新建分支并切换到新分支
复制代码

这种情况如果你本地的分支有已commit但未提交的代码,会被一并clone过来

以远程分支为基础

创建分支时,可以指定远程某个分支为基础,创建分支,这种创建方式创建本地分支后,本地分支会自动与远程分支进行关联

git checkout --track origin/<branchName>        //以远程分支为名创建本地分支
git checkout -b <branchName> origin/<branchName>    //可以指定本地分支名
复制代码

提交代码

git add <file>
git commit -m "xxx"
git pull origin <branchName> //如果是需要推送到远程新的分支可以忽略这一步
git push origin <branchName>
复制代码

查看日志

常用参数

  • --pretty=oneline以一行显示
  • -p显示每个文件的详细信息

常用命令

  • git log查看所有历史
  • git log <fileName>查看某个文件的提交历史
  • git show <commitHash>查看某次commit的提交记录
  • git log --graph查看分支生命周期

代码回滚

git reset

git reset <commitHash>将分支的头部指向这次commit,默认会将被撤销的commit记录保留在你的暂存区

git reset --hard <commitHash>被撤销的commit记录保留不会被保留

git revert

git revert <commitHash>用一次相反的提交覆盖原来的代码,达到回滚的目的。这种方式更灵活,可以针对某一次的commit进行回滚

分支合并

合并分支的命令其实很简单

当前所在分支为所需合并到的分支
git merge <branchName>
复制代码

当发生冲突时

  • 撤销这次合并,将分支初始化到合并前的状态 git merge --abort
  • 解决冲突后,git add命令把文件添加到暂存区。继续执行git merge --continue命令编辑新生成的提交的log信息。然后merge完成。

tag

git tag     //查看tag
git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233//在某个commit 上打tag
git tag
git push origin test_tag//!!!本地tag推送到线上
git tag -d test_tag//本地删除tag
git push origin :refs/tags/test_tag//本地tag删除了,再执行该句,删除线上tag
复制代码

一些其他的常用命令

  • git checkout .清除工作区所有尚未add的文件
  • git checkout -- <fileName>清除工作某个尚未add的文件
  • git reset HEAD <fileName>清除工作某个已add的文件
  • git branch --set-upstream-to=origin/remote_branch your_branch手动关联本地与远程分支
  • git checkout --ours . 当发生冲突时全部采用传入的修改
  • git checkout --theirs .当发生冲突时全部采用本地的修改
  • git push origin --delete <branchName>删除远程分支
  • git diff <branchName> <branchName> --stat查看两个分支有差异的文件
  • git diff <branchName> <branchName> <fileName>查看两个分支具体某个文件的差异
  • git diff <branchName> <branchName> 查看两个分支所有文件的差异
  • git remote update获取远程最新分支
  • git remote prune origin --dry-run查看是否有已被删除的远程分支
  • git remote prune origin 修剪远程已被删除的分支

转载于:https://juejin.im/post/5c821fa3e51d455abf604ca9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值