Git 常用命令汇总


Git 本地数据管理,大概可以分为三个区:

  • 工作区(Working Directory):是可以直接编辑的地方。
  • 暂存区(Stage/Index):数据暂时存放的区域。
  • 版本库(commit History):存放已经提交的数据。

一、基础命令

命令作用
$ q退出。
$ cd <路径>进入路径地址。
$ mkdir <文件夹名>在当前目录下创建新文件夹。
$ pwd命令用于显示当前目录。
$ ls命令用于显示当前非隐藏目录。
$ ls -ah命令可以看见所有目录(包括隐藏的目录 .git)。
$ git config --list查看配置(包括用户名和邮箱)。
$ cat <file>查看文件具体内容。

二、本地仓库

2.1 创建本地仓库

命令作用
$ git init创建一个新的本地仓库。
$ git clone git@github.com:<GitHub账户名>/<GitHub仓库名>.git从GitHub远程库中克隆到本地库。

2.2 操作本地仓库(修改/提交/查看)

命令作用
$ git status显示仓库当前的状态(包括修改的、删除的文件状态等)。
$ git add <file>将修改文件提交到暂存区。
$ git add .将所有修改文件提交到暂存区。
$ git commit -m “<message>”将暂存区的所有文件提交到版本库,并添加message说明。
$ git diff <file>查看工作区文件具体修改内容。
$ git diff --cached <file>查看add/rm后,也就是在暂存区文件的修改。
$ git log查看提交历史记录(具体,包括commit_id、author、date和message)。
$ git log --oneline查看提交历史记录(简单,只有缩减的commit_id和message)。
$ git log --graph以图表的形式查看历史记录(默认是具体的内容,可和其它选项结合)。
$ git reflog查看命令历史(所有reset和commit命令)。信息包括commit_id,以便确定要回到哪个版本。

2.3 版本回退

命令作用
$ git reset --hard head^回退到上个版本。
$ git reset --hard head^^回退到上上个版本(以此类推)。
$ git reset --hard head~回退到上个版本。
$ git reset --hard head~100回退100个版本。
$ git reset --hard <commit-id>回退到指定commit-id的版本。

2.4 删除文件

命令作用
$ rm <file>删除工作区的文件。
$ git rm <file>删除版本库的文件。接着要commit提交才能真正删除。

2.5 撤销修改/删除

命令作用
$ git checkout – <file>撤销工作区的修改/删除。使用时间为修改后,add之前,注意 – 后有一个空格。
$ git reset head <file>撤销暂存区的修改,文件变成修改后但未暂存状态。使用时间为add后,commit之前。

三、远程仓库

3.1 操作远程仓库(添加/查看/改名/移除)

命令作用
$ git remote add <remote> git@github.com:<GitHub账户名>/<GitHub仓库名>.git当前本地仓库连接GitHub远程仓库。
$ git remote查看所有关联的远程主机的名称。
$ git remote -v查看所有关联的远程主机的名称与其对应的 URL。
$ git remote show <remote>查看某一个远程仓库的更多信息。
$ git remote rename <pb> <paul>远程仓库重命名,将 pb 重命名为 paul。
$ git remote rm <remote>移除与某一个远程仓库的关联。(不是删除远程库)

3.2 拉取/推送

命令作用
$ git push origin <branch>把本地库的<branch>分支推送到远程库的<branch>分支。远程库没有<branch>分支默认会创建。
$ git push把本地库当前分支的内容推送到远程库相关联的分支。(注意是在建立追踪关系后)
$ git push <remote> --delete <branch>删除远程分支。
$ git pull <remote> <branch>从远程库的<branch>分支拉取内容合并到本地库的当前分支。
$ git pull从远程库相关联的分支拉取内容合并到本地库的当前分支。(注意是在建立追踪关系后)
$ git pull --rebase origin <branch>从远程库拉取内容合并到本地库。加上 --rebase 选项,git内部会自动检测,合并的结果会丢弃一些提交。

3.3 建立追踪关系

命令作用
$ git push -u origin <branch>把本地库的<branch>分支推送到远程库的<branch>分支。第一次推送加上 -u 参数,建立了追踪关系。
$ git branch --set-upstream-to=<remote>/<branch> <local-branch>手动建立本地分支与远程分支的关联。
$ git checkout -b <local-branch> origin/<branch>在本地创建和远程分支相关联的分支。本地和远程分支的名称最好一致。

四、分支

4.1 操作分支(创建/查看/合并/删除)

命令作用
$ git branch <branch>创建分支。
$ git checkout <branch>切换分支。
$ git checkout -b <branch>创建+切换分支。等价$ git branch <branch> + $ git checkout <branch>
$ git branch查看本地全部分支。前面带 * 号表示当前分支。
$ git branch -v查看本地所有分支的最后一次提交。
$ git branch -vv查看本地所有分支的最后一次提交。(包括和远程分支的追踪关系。)
$ git branch -r查看远程分支。
$ git branch -a查看本地分支和远程分支。
$ git merge <branch>合并某分支到当前分支。当前分支指向某分支的最新提交,所以合并速度非常快。也称“快进模式”。
$ git merge --no-ff -m “<message>” <branch>合并某分支到当前分支。加上 --no-ff表明不使用“快进模式”,因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。
$ git branch -d <branch>删除分支。对象是已经合并到当前分支且要删除的分支。
$ git branch -D <branch>强行删除分支。对象是没有合并到当前分支但要删除的分支。

4.2 储藏分支

命令作用
$ git stash把当前工作现场“储藏”起来,等以后恢复现场后继续工作。
$ git stash list查看储藏的全部工作现场。
$ git stash apply恢复工作现场。但是恢复后,stash内容并不删除,你需要用git stash drop来删除。
$ git stash drop删除工作现场。
$ git stash pop恢复工作现场的同时把stash内容也删了。
$ git stash apply <stash@{0}>当储藏多个工作现场,恢复要指定。

六、标签

命令作用
$ git tag <tag-name>为当前分支新建名为name的标签。(轻量标签)
$ git tag -a <tag-name> -m ‘<message>’为当前分支新建名为name标签并加上附注。(附注标签)
$ git tag <tag-name> <commit-id>为指定commit_id打上标签。
$ git tag查看所有标签。
$ git show <tag-name>查看指定标签的信息。
$ git push <remote> <tag-name>推送一个本地标签到远程。
$ git push <remote> --tags推送全部未推送过的本地标签。
$ git tag -d <tag-name>删除本地标签。
$ git push <remote> :refs/tags/<tag-name>删除一个远程标签。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值