Git的常用骚操作(简单总结)

Git中一些比较常用的命令

git教程,个人觉得还不错,推荐去看看,原文地址: 廖雪峰的官方网站-Git教程

查看 git 配置信息
1
2
3
$ git config --list
or
$ git config -l
设置 git 全局配置信息
1
2
3
//global 全局配置,表示你这台机器上所有的Git仓库都会使用这个配置
$ git config --global user.name "userName"
$ git config --global user.email "userEmail"
设置 git 本地配置信息
1
2
$ git config user.name "userName"
$ git config user.email "userEmail"
初始化Git仓库
1
$ git init
把 已修改文件 添加到 暂存区
1
2
$ git add XXX // XXX表示要提交的文件名
$ git add . // 将所有文件添加到仓库(注意add后面是一个英文状态下的点)
把 暂存区文件 提交到 本地仓库
1
$ git commit -m "提交说明"
查看工作区的状态
1
2
$ git status
//如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
查看提交历史
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ git log
commit 2cc1e28ab00a43d97b3a4537ba98e8c530b2cc93 (HEAD -> master, origin/master)
Author: Brand <2769536052@qq.com>
Date: Mon Dec 11 19:58:11 2017 +0800

再调整下呢~~~

commit e911a9a363124fca933e0edddeedb978ae1cea8f
Author: Brand <2769536052@qq.com>
Date: Sat Dec 9 21:16:07 2017 +0800

再调整下呢~~~

commit 3dff44f095b468aa68e49ebfd5517acd33dd2c5b
Author: Brand <2769536052@qq.com>
Date: Wed Nov 15 22:17:01 2017 +0800

再调整下呢~~~
版本回退
1
2
3
$ git reset --hard HEAD^;//回退到上一个版本
$ git reset --hard 3628164 //后面一串数字是某个版本的版本号,可通过 git log查看,通过这个方法回退到指定版本
//要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
撤销修改
1
2
3
$ git checkout -- xxx //让xxx这个文件回到最近一次git commit或git add时的状态。(撤销工作区的修改)
//如果文件被git add到暂存区了,在commit之前使用
$ git reset HEAD XXX //把暂存区的修改回退到工作区(撤销暂存区的修改)
删除文件
1
2
3
4
5
6
$ rm test.txt //删除本地文件
//删除仓库中的文件
$ git rm test.txt
$ git commit -m "remove test.txt"
// 如果本地文件删错了,可使用以下命令恢复
$ git checkout -- test.txt
远程仓库(以github做远程仓库为例)
1
2
3
$ git remote add origin git@github.com:XXXX/learngit.git
$ git push -u origin master //把本地库的所有内容推送到远程库上
$ git clone git@github.com:michaelliao/gitskills.git //从远程仓库克隆项目
创建并切换到一个新分支
1
$ git checkout -b branchName
查看分支
1
2
3
$ git branch //查看当前分支
$ git branch -r //查看远程分支
$ git branch -a // 查看所有分支
切换分支
1
$ git checkout branchName
删除分支
1
$ git branch -D loaclBranchName
合并分支
1
2
$ git merge branchName // 会保留每个分支的 commit 记录
$ git rebase branchName // 找到两个分支的共同commit记录,然后提取当前分支在共同commit记录之后的记录,合并到目标分支
拉取分支
1
2
$ git pull // 将远程仓库的变化拉下来,并和当前分支合并
$ git fetch // 只拉取远程仓库的变化,不会和当前分支合并
查看远程仓库信息
1
2
3
$ git remote -v
origin https://github.com/CQBoyBrand/node-express.git (fetch)
origin https://github.com/CQBoyBrand/node-express.git (push)