前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >git常用命令

git常用命令

作者头像
乐百川
发布2022-05-05 18:36:11
3650
发布2022-05-05 18:36:11
举报

初始化

git init 初始化一个文件夹为git仓库。

git clone 远程仓库地址 克隆一个远程仓库。

提交文件

git add 文件名 提交一个文件到暂存区。

git add . 提交所有文件到暂存区。

git commit -m "提交信息" 用提交信息提交一次记录。

git commit 在git默认编辑器中编写提交信息并提交。

git commit -a 将所有跟踪过的文件提交。已跟踪的文件是指添加到暂存区并修改过的文件,新添加但并未添加到暂存区的文件不会被提交。

撤销文件

git commit --amend 修改上次提交,可以追加记录文件,重写提交记录等等。

git reset HEAD 文件名 从暂存区取消暂存一个文件。

git checkout -- 文件名 撤销对一个文件的修改操作,如果这个文件的修改没有保存到暂存区的话。

文件操作

git rm 文件名 从git缓存区中移除并从工作目录中删除文件。如果不想删除只想从缓存区中移除的话可以添加--cached 选项。如果要删除的是一个已经在缓存区中并有修改或添加记录的话,需要使用-f 选项强制删除,这样做的目的是安全删除,因为不需要强制删除的文件都可以通过提交记录找回。

git mv 源文件名 目标文件名 移动或者重命名文件,文件必须是已经跟踪过(也就是处在暂存区)的文件。相当于以下三条命令的效果:

代码语言:javascript
复制
mv src dest
git rm src
git add dest

初始化远程仓库

git remote add origin 远程仓库地址 添加一个名字为origin 的远程仓库。

git remote remove origin 删除origin远程仓库。

git remote (-v) 查看远程仓库(以及远程仓库地址)。

推送和拉取远程仓库

git push origin master 将本地master分支推送到远程origin的master分支。

git pull 从远程仓库拉取分支并尝试合并,相当于fetch和merge操作。

git fetch 仅从远程仓库拉取分支。

忽略文件

要忽略的文件在.gitingore 文件中定义。忽略文件的格式如下: * 空行或者注释行(#开头的行)会被忽略。 * / 开头表示项目根目录。 * / 结尾表示一个目录。 * ! 表示非。例如! *.cs 就是忽略所有的不是C#代码的文件。 * 使用glob模式定义的文件。

glob模式是指shell使用的简化版的正则表达式版本。规则如下: * *匹配0或多个字符; * [abcx]匹配括号中任意一个字符,在这里也就是a、b、c或者x。 * [0-9]表示匹配0-9的任何一个字符。 * ?只匹配一个字符。 * **两个连着的星号匹配任意目录。

查看差异

git diff 查看当前文件和缓存区之间的差异。

git diff --cached 或者git diff --staged 查看已经暂存将要提交的文件更改。

git difftool --tool-help 查看可以安装使用的差异查看工具,以提供更高级的功能。

分支管理

git branch 分支名 新建一个分支。

git branch (-vv) 查看所有分支(以及与远程分支的比较)。

git checkout 分支名 切换到一个已有的分支。

git checkout -b 分支名 新建并切换到一个新分支。

git branch -d 分支名 删除一个本地分支,如果该分支有未提交的内容,删除会失败,这时候需要-D 选项强制删除。

git push origin --delete 分支名 删除服务器的远程分支,一般不删除数据只删除指针直到垃圾回收。

git branch -u(--set-up-stream) 远程仓库名/远程分支名 用本地分支跟踪远程仓库上的分支,本地分支和远程分支不需要同名。

储藏管理

git stash 将当前的修改临时储藏起来,工作目录将变成干净的。

git stash list 显示已经储藏的所有记录。

git stash apply (储藏名字) 应用储藏,未指定则是最近的储藏。

git stach drop 储藏名字 删除某一个储藏。

git stash pop 应用一个储藏并删除它。

git stash --keep-index 储藏当前的文件,不包括已经通过git add命令暂存的文件。

git stash -u 储藏文件并包括未跟踪的文件。

清理文件

git clean -f -d 确认清理工作目录中的未跟踪的文件和目录。可以将-f选项换成-n选项进行一次演习,来查看到底会删除什么文件。还可以用-x选项清理.gitignore文件中忽略的文件。

标签管理

git tag 查看已有的标签。

git tag -l '匹配模式' 列出匹配的标签。

git tag -a 标签名 -m '提交信息' 增加一个附注标签。

git tag -a 标签名 提交校验值 在某次提交上打一个标签。

git tag 标签名 增加一个轻量级标签。

git push origin --tags 将所有标签推送到远程分支上。

git push origin 标签名 只推送某个标签到远程分支。

合并修改

git merge 分支名 当一个分支合并到当前分支。

git merge --abort 退出合并,当合并出现冲突又无法解决时,可以使用该命令退出合并操作。

git rebase master dev 将dev分支在master上变基。使用此操作时要注意,只能对自己本地的私有分支进行变基操作,在合并到公共分支上。否则会打乱公有的提交记录,导致代码管理混乱。

查看状态

git status 可以查看当前的状态。

git status -s 或者git status --short 查看当前状态的简略输出。

设置属性

git配置文件有三级,第一级是系统配置,用–system标出;第二级是用户配置,用–global标出;第三级是项目配置,在当前项目文件夹中默认指定。每一级都会覆盖上一级的配置。 git config --list 列出所有属性。 git config --list --global(system) 列出全局(系统)属性。 git config --global 属性名 属性值 修改用户配置的属性值,如果不写的话就是修改当前项目的配置。

git config 属性名 查看某一项属性的值,也可以使用选项查看其他级别的配置。

查看帮助

git help 某个命令 `git 命令名 –help· 查看某个命令的帮助,不过是英文的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 初始化
  • 提交文件
  • 撤销文件
  • 文件操作
  • 初始化远程仓库
  • 推送和拉取远程仓库
  • 忽略文件
  • 查看差异
  • 分支管理
  • 储藏管理
  • 清理文件
  • 标签管理
  • 合并修改
  • 查看状态
  • 设置属性
  • 查看帮助
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档