一、一个小时学会git:https://www.cnblogs.com/best/p/7474442.html

二、fetch fatal: Refusing to fetch into current branch refs/heads/dev of non-bare repo

http://blog.chinaunix.net/uid-20543672-id-3049419.html

三、

reset 重新初始化终端/清屏。 = clear
history
git init [dir]
git clone [url]
git status [filename]
git add [.][fn1 fn2]
git rm --cached <file> 撤销add,从暂存区删除
git reset HEAD <file> 通过重写目录树撤销add文件,工作区也不受影响
git clean [-df] 移除所有未跟踪文件(d包括未被跟踪目录)。d 目录 f强制。删除工作区文件
git rm <file> 暂存区工作区同时删除
git rm xx --cached 撤销add操作,保留工作区文件
rm <file> 未被跟踪,直接删除
git checkout . 暂存区覆盖工作区
git checkout HEAD . 暂存区工作区被HEAD覆盖。暂存区未推送、工作区未提交都丢失 git checkout 汇总显示工作区、暂存区、版本库的差异
git checkout HEAD 同上
git checkout branch
git checkout --filename 用暂存区的文件覆盖,撤销上次add后的修改
git checkout branch -filename 覆盖暂存区、工作区中的文件
git checkout . 或者 git checkout --. 暂存区覆盖工作区,撤销所有修改 git commit -m [msg]
git commit <file1> <file2> ... -m [msg] 提交暂存区指定文件到仓库区
git commit -a 提交工作区到仓库区,跳过add,对新文件无效
git commit --amend -m [msg] 替换上一次提交,若代码没有变化,则相当于修改注释信息
git commit --amend [file1] [file2]... 重新提交指定文件 git reset --hard HEAD~ 撤销提交,放弃工作区和index的改动,HEAD指针指向上一次提交
git revert <commit-id>
这条命令会把指定的提交的所有修改回滚,并同时生成一个新的提交。
git reset --hard HEAD^^^^ = HEAD~ //工作区与暂存区被撤销的代码会消失。
git reset --commitId
--hard:撤销并删除相应的更新
--soft:撤销相应的更新,把这些更新的内容放到Stage中
git reflog
git log --oneline -n
git show
git log --name-status 每次修改的文件列表, 显示状态
git log --name-only 每次修改的文件列表
git log --stat 每次修改的文件列表, 及文件修改的统计

--mixed

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft

不删除工作空间改动代码,撤销commit,不撤销git add . 
 

--hard

删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。

撤销后反撤销

工作区、暂存区无反撤销的代码

同时将反撤销的代码恢复到工作区、暂存区

git stash save

git stash drop

git stash clear

git stash show

git stash apply

git stash pop

git stash list

git rm --cached <file> 直接从stage中删除。撤销add

git reset HEAD  <file>通过重写目录树移除stage文件

git checkout .

git checkout HEAD

git diff 比较工作区与暂存区

git diff HEAD 比较本地库与工作区

git diff --cached 比较暂存区与之前提交过的

git commit --amend   修改提交

git reset --hard HEAD~n 撤销提交

git cherry-pick commit_id

git remote 不带参数,列出已经存在的远程分支

git remote -v 列出详细信息,在每一个名字后面列出其远程url

git branch 所有本地分支

git branch -r 远程

git branch -a 本地远程

git branch -v 详情 verbose

git branch -vv 详情 可查看本地分支与远程分支的追踪关系

git branch <name> 创建分支,但依然停留在当前分支

git checkout -b <name> 创建并切换

git branch --track <name> [remote-branch] 新建分支,并与指定远程分支建立追踪关系

git checkout <name> 切换到指定分支,并更新工作区代码

git checkout - 切换到上一个分支

git branch --set-upstream <branch> <remote-branch> 建立追踪关系,现有分支与远程分支[新版本不再支持  https://www.cnblogs.com/CreteWu/p/8548535.html]

git branch --set-upstream-to=origin/dev dev  本地追踪远程

git merge <branch> 合并指定分支到当前分支

git cherry-pick [commit] 指定一个commit,合并到当前分支

git branch -d <name> 删除分支

git push origin --delete <name>  =  git branch -dr <remote> 删除远程分支

git status .
git status <filename>

git add/ commit -m/ commit -a/ branch -av -vv -r -m/clean -f -d -df/

git pull

git fetch 获取所有最新远程分支

git fetch orgin dev 获取指定远程分支

git fetch orign dev:dev  获取指定远程分支到本地的某分支,没有则创建,不切换当前分支

git merge

git rebase (fetch + rebase == git pull -r == git pull --rebase)

git push origin HEAD :refs/for/dev  空格不能(gerrit)

git push origin HEAD:refs/for/dev

git branch -m dev dev11  分支改名

stash:  https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html

fetch:  https://www.jianshu.com/p/a5c4d2f99807

fetch:  https://www.jianshu.com/p/d07f5a8f604d

fetch&pull:  https://www.cnblogs.com/runnerjack/p/9342362.html

Git 少用 Pull 多用 Fetch 和 Merge

https://my.oschina.net/u/1992476/blog/1248171

git fetch 、git pull、git merge 的理解

https://blog.csdn.net/json159/article/details/82714784

gerrit "missing Change-Id"

git log参数

...

git 学习使用记录的更多相关文章

  1. 【转帖】Git学习笔记 记录一下

    本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...

  2. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  3. Git学习记录-基本命令篇

    目录 网页在线练习地址 https://learngitbranching.js.org/ 1.git commit Git 仓库中的提交记录保存的是你的目录下所有文件的快照,就像是把整个目录复制,然 ...

  4. git 学习记录—— git 中的仓库、文件状态、修改和提交操作等

    最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...

  5. GIT学习记录4(标签管理与自定义git)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  6. GIT学习记录3(分支管理)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  7. git学习记录2(远程库管理)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  8. git学习记录1(本地库管理)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  9. 20130907.Git学习记录

    1.任何文件在Git内都只有三种状态: ①已提交(committed):已提交表示该文件已经被安全地保存在本地数据库中了: ②已修改(modified):已修改表示修改了某个文件,但还没有提交保存: ...

随机推荐

  1. 《JAVA语言》第三节课

    使用递归方式判断某个字串是否是回文( palindrome ). 1. 设计思想 在判断字符串是否是回文的时,采用递归法,首先要分析出重复做的是什么事情,这里是要重复判断两端的字符是不是相等的,直到剩 ...

  2. 【Python】【demo实验28】【练习实例】【递归函数练习】

    原题: 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后问第一个人,他说是10岁.请 ...

  3. 【Python】【demo实验12】【练习实例】【列表的复制】

    #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- # 将一个列表复制到另外一个列表中: # 分析:可以使用[:] L = [0,3, ...

  4. Oracle - WITH AS -用于查询当月与上月数据

    注:在之前工作的时候,数据需要根据时间查询出当月值和上月的值. 语法: WITH A AS( SELECT * FROM TABLE ), B AS (SELECT * FROM TABLE)SELE ...

  5. 【LOJ】#3093. 「BJOI2019」光线

    LOJ#3093. 「BJOI2019」光线 从下到上把两面镜子合成一个 新的镜子是\((\frac{a_{i}a_{i + 1}}{1 - b_{i}b_{i + 1}},b_{i} + \frac ...

  6. Spring 的 Bean 管理(XML 方式)

    Spring 的 Bean 管理(XML 方式) 1. 三种实例化 Bean 的方式 使用类构造器实例化(默认无参数) 使用静态工厂方法实例化(简单工厂模式) 使用实例工厂方法实例化(工厂方法模式) ...

  7. 进阶Java编程(13)反射与Annotation

    1,反射取得Annotation信息 从JDK1.5之后Java提供了Annotation技术支持,这种技术为项目的编写带来了新的模型,而后经过了十年的发展,Annotation的技术得到了非常广泛的 ...

  8. Navicat连接CentOS7中的MariaDB

    Step 1:首先登录数据库设置开启远程连接 mysql -u root -p Step 2:使用改表法实现远程连接 use mysql; update user set host = '%' whe ...

  9. 【原创】大数据基础之Kudu(4)spark读写kudu

    spark2.4.3+kudu1.9 1 批量读 val df = spark.read.format("kudu") .options(Map("kudu.master ...

  10. 06 Go语言基本命令

    在命令行执行go命令查看相关的Go语言命令: 以windows为例,在DOS窗口输入go Go is a tool for managing Go source code. Usage: go com ...