目录

配置user信息

git config --global user.name 'your_name'
git config --global user.email 'your_email@domain.com'
# 也可以直接编辑工作目录下面的.git/config直接修改
vim .git/config

建Git仓库

1. 把已有的项目代码纳入Git管理

cd 项目代码所在的文件夹
git init

2. 新建的项目直接用Git管理

cd 某个文件夹
git init your_project # 会在当前路径下创建和项目名称同名的文件夹
cd your_project

清空暂存区

git reset --hard

git变更文件名

git mv 原文件名 新文件名

查看暂存区状态

git status

查看历史

git log
git history
# 简洁看下版本历史
git log --oneline
# 查看最近的2次历史
git log -n2 --oneline

查看本地分支

git branch -v

查看所有分支(包含远程)

git branch -av

创建分支

//commitid可以不指定,默认当前分支最新(commitid可以通过git log 命令获取)
git checkout -b 分支名 commitId

基于远程分支创建本地新分支

git checkout -b 本地分支名  远程分支名

查看图形化分支日志

git log --all --graph

图形化界面的gitk

gitk

切换分支

git checkout 分支名

比较两个commit

git diff 第一个commitid 第二个commitid

git 删除分支

git branch -D 分支名

git 修改最新commit的message

git commit --amend

保存退出

git diff、git diff --cached、git diff HEAD 区别

git diff # 对比工作区(未 git add)和暂存区(git add 之后)

git diff --cached # 对比暂存区(git add 之后)和版本库(git commit 之后)

git diff HEAD # 对比工作区(未 git add)和版本库(git commit 之后)

让暂存区恢复和head一样

git reset HEAD

让工作区的文件恢复和暂存区一样

git checkout -- 待恢复的文件名

取消暂存区部分文件的更改

git reset HEAD --  路径文件名

消除最近的几次提交

git reset --hard commitId

查看不同提交的指定文件的差异

git diff 分支1 分支2 -- 文件名
git diff commitId1 commitId2 -- 文件名

正确删除文件

git rm 文件名

git stash 用法总结和注意点

git stash save "save message" # 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别

git stash list # 查看stash了哪些存储

git stash show # 显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

git stash show -p # 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

git stash apply # 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 

git stash pop # 命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

git stash drop stash@{$num} #丢弃stash@{$num}存储,从列表中删除这个存储

git stash clear #删除所有缓存的stash

开发中临时加塞紧急任务怎么处理?

如何将Git仓库备份到本地

# 哑协议
git clone --bare 路径 name.git

# 智能协议
git clone --bare file://路径 name.git

把本地仓库同步到github

git remote add 远程仓库名 git地址
git remote -v
git push 远程仓库名 --all
git fetch 远程仓库名
git checkout master
git merge --allow-unrelated-histories 远程仓库名/master
git push 远程仓库名 master

不同人修改了不同文件如何处理?

git fetch 远端
# git fetch github
# 执行合并远程分支
git merge 远端
git push

不同人修改同文件的不同区域处理

git fetch
git merge 远程分支
git push

不同人修改同文件的同一区域处理

git fetch
git merge 远程分支
git pull
vim 冲突文件
git commit 注释信息
git push
# 退出merge
git merge --abort
# 删除本地分支
git branch -d 分支名

git部分命令笔记的更多相关文章

  1. [git] 基础命令笔记

    --内容整理自廖雪峰的GIT教程-- git status 查看当前工作区状态,显示未跟踪的文件以及未上传的修改记录 git init 使当前文件夹变成Git可以管理的仓库 git add xxx 将 ...

  2. GIT常用命令笔记

    最近在做了一个自己的项目.两个人合作的,所以需要用到版本管理工具.本来打算学一下自己搭建svn的,后来朋友推荐我用git,免费,流行,好用,逼格.所以就学习了一下.发现这个git与已经使用惯了的svn ...

  3. 【原】git常用命令笔记

    平时要用一些命令老是去网上找还挺麻烦的,所以总结起来,还是写在了github上,博客园啥时候也支持一个markdown啊!! https://xianyulaodi.github.io/2017/03 ...

  4. git 常用命令笔记

    #提交代码会加上用户名和邮箱 git config --global user.name 名字 git config --global user.email 邮箱 git config --globa ...

  5. 【GIT】命令笔记

    1.将本地代码提交到github等仓库 1.创建仓库省略 2.切换到本地需要上传的地址 :初始化仓库 git init 3.配置git,告诉git你是谁 git config --global use ...

  6. Git常用命令清单笔记

    git github 小弟调调 2015年01月12日发布 赞  |   6收藏  |  45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...

  7. git命令笔记

    git -bare init git remote add origin ssh://myserver.com/home/git/myapp.git git remote show origin [r ...

  8. Pro Git读书笔记 - Git 常用命令

    在工作目录中初始化新仓库 要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行git init 检查当前文件状态 要查看哪些文件处于什么状态,可以用git status命令 将工作文件 ...

  9. Git-学习笔记(常用命令集合)

    这里引用一下百度百科里Git的内容: Git --- The stupid content tracker, 傻瓜内容跟踪器.Linus Torvalds 是这样给我们介绍 Git 的. Git 是用 ...

随机推荐

  1. USACO2018DEC PLATINUM

    就按(博主认为的)难度顺序排吧. Sort It Out 分析 容易发现选出的集合一定是所有逆序对的一个最小覆盖集,那么剩下的就一定是一个LIS.仔细想想还可以发现字典序第\(k\)小的最小覆盖集的补 ...

  2. Exchanger 原理

    Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法交换数 ...

  3. C++入门经典-例4.1-声明、定义和使用函数

    1:代码如下: // 4.1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  4. mysql 判断时间 语法

    今天  select * from 表名 where to_days(时间字段名) = to_days(now());  昨天  SELECT * FROM 表名 WHERE TO_DAYS( NOW ...

  5. 出现org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER, 且出现无法找到Maven的依赖的问题

    解决方案:Build Path -> Java Build Path ->Libraries ->Add Library ->Maven Managed Dependences ...

  6. echarts_02

    1. 如果数据加载时间较长,一个空的坐标轴放在画布上也会让用户觉得是不是产生 bug 了,因此需要一个 loading 的动画来提示用户数据正在加载. ECharts 默认有提供了一个简单的加载动画. ...

  7. nginx location正则

    nginx location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # ...

  8. cmd 查看域名对应的 IP

    1.cmd nslookup 2.输入 域名,例如:www.baidu.com

  9. 浏览器端-W3School-JavaScript:JavaScript 事件参考手册

    ylbtech-浏览器端-W3School-JavaScript:JavaScript 事件参考手册 1.返回顶部 1. JavaScript 事件参考手册 事件通常与函数配合使用,这样就可以通过发生 ...

  10. Tomcat指定JDK

    那么当有多个JDK时,是否可以为Tomcat这类应用程序指定对应的JDK版本 如下图,只需修改catalina.sh 即可,不需要修改“tomcat/bin/setclasspath.sh” . “t ...