Git常用命令(一)

本章是整理知识内容,为强化知识长期更新。

  • 阅读本文之前请确保已经安装好的git,如果兴趣可以先查看下git help相关信息。

  • git的命令其实挺多,但是工作要求不同团队要求不同。使用命令也不一样。这里简单记录下自己经常使用的命令。

git的最小配置

为什么要最小配置,每次提交代码需要告诉git。所以需要简单设置下user信息。

1
2
git config --global user.name 'your name'
git config --global user.email 'your email'

这里需要注意config的三个作用域

1
2
3
git config --local  #某个git本地仓库有效
git config --global #当前用户所有仓库有效,就是你系统的登陆用户。
git config --system #对系统所有的仓库都有效果。

我们一般只会使用local 和 global这两个配置。当我们配置好user.name user.email之后,我们可以检查下配置信息。

1
2
3
git config --list --local # 注意,必须在某个仓库里面才能看到。
git config --list --global
git config --list --system

git创建一个本地仓库

一般来说git仓库有两种情况,一种是没有仓库,另外一种就是已经有仓库了。这里对第一种情况演示,因为工作中习惯在web上创建仓库。这里还是了解下。

1
git init git_learning

创建一个README文件。

1
touch README.md

这里需要说明下,本地仓库创建完成后需要与远程仓库进行管理。

1
git remote add origin github.com:yourname/git_learning.git # 这里的yourname 是你的git账号

建议手动去github上面创建一个叫git_learning的仓库。上面的命令就是做下关联。

1
2
3
git add . # 将当前文件添加至暂存区
git commit -m "upload file" # 将暂存区的文件提交到本地仓库
git push origin mastet # 将本地仓库的改动信息推送到远程仓库中

git log日志查看

如果我们需要查看commit 提交日志可以使用log命令,这里简单介绍下log。

1
git log --oneline #log信息一行显示

这里为了演示,模拟commit。比如现在commit了4次。

1
git log --oneline -n2 #log信息一行显示。且显示2条记录。

也可以用自带的图形化命令看提交记录。

1
git log --oneline --graph

commit的message

如果发现message写错了,可以修改下。

1
git commit --amend  # 修改最新一次commit提交message。

如果想修改以往的commit的message。注意是不连续的commit。

1
# 首先查看log 里面的信息,然后获取commitid进行合并

git clone www./.git

从仓库克隆项目。

git status

查看本地仓库状态信息。

git add

添加本地文件到本地仓库暂存区。

git checkout xxx

切换分支,若分支不存在则创建一个xxx分支。

git commit -m

将本地暂存区的文件推送到本地仓库。 当修改已经通过git add <change file>将其添加到stage,可以通过git commit -m "<message>"为这所有已经进入stage的改变添加一个commit信息。

git commit -am

可以直接使用git commit -am "<message>",将所有修改,但未进stage的改动加入stage,并记录commit信息。(某种程度上相当于git addgit commit -m的组合技,前提是被改动文件已经是tracked)

git mv -f xxx xxx

修改文件名称。

git rm –cache xxxx

有的时候误将文件提交到暂存区,用这个命令可以删除掉。避免提交到远程仓库中。

git rm -r -n —cached xxx

因为项目初始化的时候未正确配置排除文件导致部分文件一直保存在服务器中。所以需要远程删除下。

加上 -n 这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。

git rm -r –cached xxx

远程删除文件

git reset –soft xxx(版本号)

删除错误版本提交,一般是就近的一个远程仓库版本。

git reset –mixed xxx(版本号)

仅仅只是撤销已经提交的版本库和暂存区,工作去不受影响。这个操作通常是用来后悔提交的。工作去的代码依然有价值。

git reset –hard xxx(版本号)

将工作去、暂存区、仓库版记录回复到某一个版本。这个操作非常犀利,尽量少用。

git push -f origin master

这个命令经常会出现在本地仓库与远程仓库发生冲突的时候,需要强制推送更新。

git branch –v

查询当前工作分支

git branch -r

查看远程分支

git branch -d xxx

删除本地没有打开的分支。

git branch -D xxx

删除本地打开的分支

git branch -r -d origin/xxxx

删除远程仓库分支

git push origin : xxxx

推送删除远程分支操作

git config core.ignorecase false

关闭大小写忽略