Git使用命令

Git命令

阮一峰Git教程

初始化库

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

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

  • git clone [url]:下载库

配置

  • git config –list : 显示当前的Git配置

  • git config -e [–global]: 编辑Git配置文件

  • git config [–global] user.name “[name]”: 设置提交代码时的用户名

  • git config [–global] user.email “[email address]”: 设置提交代码时的用户email

增加/删除文件

  • git checkout . && git clean -xdf :清除所有修改
  • git reset –soft HASH :返回到某个节点。保留修改
git clean 参数
    -n 显示 将要 删除的 文件 和  目录
    -f 删除 文件
    -df 删除 文件 和 目录
git checkout . 和 git clean -xdf 清除所有修改
  • git add [file1] [file2] … : 添加指定文件到暂存区

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

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

  • git add -p: 添加每个变化前,都会要求确认;对于同一个文件的多处变化,可以实现分次提交

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

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

  • git mv [file-original] [file-renamed] : 改名文件,并且将这个改名放入暂存区

代码提交

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

  • git commit [file1] [file2] … -m [message] : 提交暂存区的指定文件到仓库区

  • git commit -a : 提交工作区自上次commit之后的变化,直接到仓库区

  • git commit -v : 提交时显示所有diff信息

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

  • git commit –amend [file1] [file2] … : 重做上一次commit,并包括指定文件的新变化

分支

  • git branch: 查询本地分支

  • git branch -r : 查询远程的branch

  • git branch -a : 查询本地和远程branch

  • git branch [分支名] : 创建分支,但依然停留在当前分支

  • git checkout -b [分支名] : 创建并切换到分支

  • git branch –track [branch] [remote-branch]:新建一个分支,与指定的远程分支建立追踪关系

  • git branch –d [分支名] : 删除本地分支

  • git branch -d -r origin/todo : 删除远程的todo branch

  • git checkout - :切换到上个分支

  • git checkout [分支名] : 切换到分支名

  • git cherry-pick: 挑拣分支

  • git merge [分支名]: 用于合并指定分支到当前分支上

  • git checkout – [文件名]: 若暂存区有,检出暂存区的,否则检出库中的;– 很重要,如果没有 —-的话,那么命令变成创建分支了。

远程库

  • git clone [Url] : 克隆到本地

  • git remote : 远程库的信息

  • git remote –v : 查看远程库的详细信息

  • git branch -r : 查看远程分支

  • git checkout –b dev origin/dev : 将远程dev(分支名)拉到本地并创建本地分支dev

  • git push -u origin [分支名]: 由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

  • git remote add origin [地址] : 关联一个远程库

  • git pull orgin [分支名] : 更新远程库到本地(包含fetch、merge两个功能)

  • git push origin [分支名] : 推送数据到远程分支,若没有该分支则新建;

  • git push origin :[分支名] : 删除远程分支

  • git merge –no-ff -m “描述” 分支名 : 强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

  • git branch –set-upstream dev origin/dev : 设置dev和origin/dev的链接:

  • git remote set-url origin [url] : 替换远程库地址

  • git remote rm origin : 删除远程库关联

  • git mergetool

Tag

  • git tag:列出所有tag

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

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

  • git tag -a v1.0.0 -m “1.0” : 添加tag

  • git show [tag-name]: 显示指定Tag信息

  • git checkout [tag-name]: 检出指定Tag

  • git push origin V-1.02.003 : 单独提交本次tag

  • git push –tags : 提交所有的tags

  • git tag -a V-0.02.005 [commit-id] : 想为之前的提交提交tag,可以使用

  • git checkout -b [分支名] [tag名]: 根据指定Tag创建分支

  • git ls-remote –tags origin: 查看远程Tag

  • git fetch origin –tags: 获取远程所有Tag

  • git fetch origin tag [tagname] : 获取远程指定Tag

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

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

查看信息

  • git status:显示有变更的文件

  • git log:显示当前分支的版本历史

  • git log –stat:显示commit历史,以及每次commit发生变更的文件

  • git log -S [keyword]:搜索提交历史,根据关键词

  • git log [tag] HEAD –pretty=format:%s:显示某个commit之后的所有变动,每个commit占据一行

  • git log [tag] HEAD –grep feature:显示某个commit之后的所有变动,其”提交说明”必须符合搜索条件

  • git show [commit]:显示某次提交的元数据和内容变化

  • git show –name-only [commit]:显示某次提交发生变化的文件

  • git show [commit]:[filename]:显示某次提交时,某个文件的内容

  • git reflog:显示当前分支的最近几次提交

  • git log –graph : log分支图

  • git log –pretty=oneline : 单行显示日志 :q 退出

撤销

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

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

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

  • git reset [file]: 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变

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

  • git reset [commit]:重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变

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

  • git reset –keep [commit]:重置当前HEAD为指定commit,但保持暂存区和工作区不变

  • git revert [commit]:新建一个commit,用来撤销指定commit,后者的所有变化都将被前者抵消,并且应用到当前分支

  • git stash/ git stash pop:暂时将未提交的变化移除,稍后再移入

  • git reset –hard HEAD^ : 回退到上个版本HEAD^, 上上个版本 HEAD^^ 以此类推。

  • git reset –hard HEAD~100: 会退到前100个版本

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值