git diff b4556 //当前分支 比较 b4556 commit号

git revert HEAD // 本地会滚到上一个版本,如果需要线上也要回滚 再push 一下

git revert b45568uutgh //会滚到上 8uutgh commit

 

git reset --hard HEAD^  本地和线上的分支也会滚到上一个提交点

git  reset --hard commit_id  // 本地回顾到这个commit_id 上 (不会对本地产生git文件记录,git pull 一下,线上没有的文件就会覆盖掉本地和线上与之对应的文件)

git push origin HEAD --force   强推到远程

git reset HEAD^    // 回滚到上一个提交点 (产生了本地文件的改动,git有记录)

++++++++++++++++++++++++++++++++++++++

回滚代码操作:

  git  reset --hard commit_id
  git push origin HEAD --force

+++++++++++++++++++++++++++++++++++++

git reflog  查看历史操作记录


 

 直接提交到远程的分支

git push origin dev  提交到远程的dev分支上

在远程版本库创建了一个分支后,在本地可以使用

git remote update  更新自己的本地分支

推送某个标签到远程,使用命令:   git push origin


 

删除本地版本库上那些失效的远程追踪分支

git remote prune origin

 


 

创建+切换分支:git checkout -b

  - 提交当前新分支, git add . 

           git commit -m "****"

           git push --set-upstream origin

 

 

合并某分支到当前分支:git merge

 

删除分支:git branch -D

删除远程分支:git push origin --delete  

删除远程tag: git push origin --delete

      git push origin --delete v0.1


 查看远程地址:

    git remote -v

查看远程仓库及分支信息:

  git remote show origin

删除远程仓库

    git remote rm origin

(这个什么时候用呢?我举个栗子。你把一个有远程地址的项目复制成另一个项目,然后你想把提交到另一个仓库,要先删除与原来项目的远程仓库链接)

修改远程分支名称

  git branch -m  old_branch new_branch


 

这样的一个情况,本地先有一个项目,然后想把这个项目放在github 上

先初始化自己的git 

git init 

git add .

git commit -m "&&&&&" 本地的commit

git remote add origin xxx

git branch --set-upstream-to=origin/master master  //设置远程追踪分支

git push -u

git push --set-upstream origin master  // 推到这个分支上

 或者简化操作:

git init 

git remote add origin https://github.com/****/***.git

git add .

git commit -m "commit message"

git push -u origin master

会提示输入GitHub用户名,密码。填写您的用户名,密码即可。

情况: 

fatal: refusing to merge unrelated histories

 方法:

git pull --allow-unrelated-histories


.gitignore 文件不生效 

  给已经有的gitignore文件在添加一个忽略文件,一直不起作用

git rm -r --cached . // git rm -r --cached '**file'git add .git commit -m "fixed untracked files”

 


 

 


 

Git tag 的使用:

因为 tag 相当于是一个快照,是不能更改它的代码的。

如果要在 tag 代码的基础上做修改,你需要一个分支: 

git checkout -b branch_name tag_name

 查看某分支从哪个分支上切出来的

git reflog |grep checkout |grep sp10-schedual-opt

 

 

这个命令会打印出所有关于此分支的 checkout 的操作,找到最下面的记录,就是它第一次的记录,即从哪里创建(切)出来的

 


查看git 提交 commit 数

 git shortlog --numbered --summary

 


 

搭建gitlab 

https://www.cnblogs.com/reblue520/p/7109900.html

自定义git 的操作:

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137621280731812dec22ecc9b44f4b2ca1c680f181a5b000

©著作权归作者所有:来自51CTO博客作者迩伶贰的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. AWS 宣布创建“真正”开源的 Elasticsearch 分支
  2. 210427 PHP 运算符 流程控制 字符串定义 定界符 require/include
  3. Jenkins 之 多分支流水线的使用
  4. 【Git版本控制】Git版本控制工具使用说明和规范教程
  5. git日常命令
  6. 代码管理平台GIT
  7. 快递100集成多家快递公司同城配送账号授权接口案例代码
  8. 快递100集成多家快递公司同城配送下单API接口代码
  9. 快递100集成多家快递同城配送公司查询订单API接口案例

随机推荐

  1. 201521123113 《Java程序设计》第2周学习
  2. java的三大特性之一(继承)
  3. Java使用socket网络编程实现多人聊天室
  4. Java7并发编程--3.4、Phaser并发阶段任务
  5. java并发包之阻塞队列BlockingQueue
  6. Javadoc转换chm帮助文档的四种方法总结
  7. Java并发编程:Concurrent锁机制解析
  8. 攻击JavaWeb应用[4]-SQL注入[2]
  9. 使用 Sun SPOT 作为构建监视器
  10. Java的单元测试(Junit)