常用 Git 命令

我们每天使用 Git ,但是很多命令记不住,这里列出日常可能会使用的一些git命令,方便以后查阅。

git名词解释

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库
git工作原理

git文件状态

  • 未追踪 untracked file
  • 已暂存 staged file
  • 未更新 no updated file
  • 已更新 updated file
git工作原理

——————————注意事项———————————

  • 规范提交代码注释
  • 发版本打标签
  • git pull --rebase //使用此种方式拉取代码
  • git add . //解决冲突
  • git rebase --continue //应用补丁

一、初始化仓库

  • 在当前目录新建一个Git代码库
    git init

  • 新建一个目录,将其初始化为Git代码库
    git init [project-name]

  • 初始化一个裸仓库,用于创建服务器仓库
    git init –bare

  • 克隆一个代码仓库
    git clone [url]

二、配置

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

  • 设置提交代码时的用户信息
    git config [--global] user.name "name"
    git config [--global] user.email "email address"

  • 配置alias-别名
    git config [--global] alias."you key" "order"

  • 配置增强版log
    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s%Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

三、增加/删除文件,撤销修改/暂存

  • 添加指定文件到暂存区
    git add [file1] [file2] ...

  • 添加指定目录到暂存区,包括子目录
    git add [dir]

  • 添加当前目录的所有文件到暂存区
    git add .

  • 删除工作区文件,并且将这次删除放入暂存区
    git rm [file1] [file2] ...

  • 停止追踪指定文件,但该文件会保留在工作区
    git rm --cached [file]

  • 恢复暂存区的指定文件到工作区
    git checkout [file]

  • 恢复某个commit的指定文件到暂存区和工作区
    git checkout [commit] [file]

  • 恢复暂存区的所有文件到工作区
    git checkout .

四、提交代码/回退提交

  • 提交暂存区到仓库区
    git commit -m [message]

  • 提交工作区自上次commit之后的变化,直接到仓库区
    git commit -am [message]

  • 使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次c ommit的提交信息
    git commit --amend -m [message]

  • 配置全局的快捷提交命令
    git config --global alias.ac "commit -am"

  • 重置暂存区与工作区,与上一次commit保持一致
    git reset --hard

  • 回退到上一个版本
    git reset --hard^

  • 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
    git reset --hard [commit]

五、分支

  • 列出所有本地分支
    git branch

  • 列出所有远程分支
    git branch -r

  • 列出所有本地分支和远程分支
    git branch -a

  • 新建一个分支,并切换到该分支
    git checkout -b [branch]

  • 切换到指定分支,并更新工作区
    git checkout [branch-name]

  • 合并指定分支到当前分支
    git merge [branch]

  • 删除分支
    git branch -d [branch-name]

  • 删除远程分支
    git push origin --delete [branch-name]
    git branch -dr [remote/branch]

六、标签

  • 列出所有tag
    git tag

  • 新建一个tag在当前commit
    git tag [tag]

  • 新建一个tag在指定commit
    git tag [tag] [commit]

  • 删除本地tag
    git tag -d [tag]

  • 删除远程tag
    git push origin :refs/tags/[tagName]

  • 查看tag信息
    git show [tag]

  • 提交指定tag
    git push [remote] [tag]

  • 提交所有tag
    git push [remote] --tags

  • 新建一个分支,指向某个tag
    git checkout -b [branch] [tag]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 下面Git 命令清单部分来自廖雪峰,部份来自其他各处收集。几个专用名词的译名如下。 Workspace:工作区 I...
    乱尘阅读 317评论 0 1
  • 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用...
    f09037cb27f7阅读 126评论 0 0
  • 常用 Git 命令有哪些?一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个...
    大小伍阅读 759评论 0 0
  • 下面是常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂...
    made_China阅读 259评论 0 0
  • GIT 概念 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的...
    iOS小虫下米阅读 834评论 0 3