目录

配置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. effective c++ (三)

    条款07:为多态基类申明virtual析构函数 1.c++明白指出,当derived class对象经由一个base class指针被删除,而该base class带有一个non-virtual 析构 ...

  2. Linux 环境安装运行Sqlmap

    1.官网下载 .tar.gz 文件   官网地址:http://sqlmap.org/ 2.登录访问linux环境,将压缩包放入/usr/local 路径. 3.在该路径下通过 tar -xzvf f ...

  3. node.js渲染页面

    1 在软件中找到nodejs并安装(强调,安装时选默认位置) 2 复制yuedu文件夹到本地 3 在yuedu文件夹中按shift 点击右键 4 输入命令 npm install 5 安装成功后,输入 ...

  4. python环境下安装virtualenv,virtualenvwrapper

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...

  5. java 获取文本一行一行读

    直接上代码: 如果出现乱码:请改一下编码:我这里使用utf-8是会乱码的,改GBK就好了 // 读取文件内容 public static String readFile(String path) {/ ...

  6. gulp自动化构建工具安装使用(1)

    我用的是windows,所以以下操作针对于windows用户,其他系统有不一样的地方请自行查阅资料更正. 好了,废话少说,反正也就是随手捣腾.下雨了,天晴了,我们开始搞gulp了 安装:gulp是个构 ...

  7. Quartz.Net任务调度总结

    Quartz.Net使用经验总结: 学习参考的例子不错,分享一下: (1)https://www.cnblogs.com/jys509/p/4628926.html,该博文介绍比较全面 (2)http ...

  8. 4.数据挖掘的数据仓库与OLAP技术

    1.什么是数据仓库 面向主题的.集成的.时变的.非易失的 2.数据仓库和异种DBMS 3.OLTP vs OLAP 4.为什么建立分离的数据仓库? 5.多维数据模型(数据仓库的概念建模)三类度量 4. ...

  9. Mac下破解百度网盘限速(Chrome + Aria2GUI)

    基本原理是利用Aria2GUI的多线程下载来达到提速的目的,具体步骤如下: 1.下载Aria2GUI客户端(注意,客户端文件要放入‘应用程序’,否则会报错),使用时注意修改线程数,默认为16,不够用, ...

  10. leetcode 94二叉树的中序遍历

    递归算法C++代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; ...