目录

配置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. TTTTTTTTTTT POJ 2749 修牛棚 2-Sat + 路径限制 变形

    Building roads Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7019   Accepted: 2387 De ...

  2. poj 3320 jessica's Reading PJroblem 尺取法 -map和set的使用

    jessica's Reading PJroblem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9134   Accep ...

  3. jQuery_复制操作

    复制操作代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  4. java从ldap中导出数据到ldif文件中

    原创:http://www.cnblogs.com/dqcer/p/7814034.html 导入ldap.jar包,笔者已对下面两个文件测试并通过.若有疑问欢迎留言 LDAPExport.java ...

  5. Unity3D_(API)Random随机数

    Unity随机数Random官方文档: 传送门 一.生成一个随机数 二.Random.InitState()生成伪随机数 三.官方文档中常用的方法 创建一个Cube用来挂载Random_Gary.cs ...

  6. C_clock()测试代码(循环)运行时间

    clock()  传送门(百度百科) clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下:   clock_t clock(voi ...

  7. LeetCode 116/117. 填充同一层的兄弟节点(Populating Next Right Pointers in Each Node)

    题目描述 给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充 ...

  8. 乌班图docker版本18.04升级到19.03

    # 关闭docker sudo systemctl stop docker # 卸载旧版本: sudo apt-get purge docker-ce # 安装新版本 sudo apt update ...

  9. Spring配置多个数据源,并实现数据源的动态切换转载)

    1.首先在config.properties文件中配置两个数据库连接的基本数据.这个省略了 2.在spring配置文件中配置这两个数据源: 数据源1 <!-- initialSize初始化时建立 ...

  10. eclipse subclipse svn 插件安装使用

    一.在线安装 1.打开Eclipse,菜单栏中选择"Help"->"Install New SoftWare..." 2.在弹出的对话框中,点击" ...