Git常用命令

git 是最常用的版本管理工具之一,本文整理了一些常用的 git 命令,主要还是整理一下以前的笔记,然后再复习一下。

目录
  1. 安装和配置
  2. 配置用户名和邮箱
  3. 初始化
  4. 本地常用命令
  5. 远程仓库操作
  6. 分支管理
  7. 标签管理
  8. 在线仓库
  9. IDE(编辑器)
  10. 总结
  11. 参考资料:

git 是最常用的版本管理工具之一,本文整理了一些常用的 git 命令,主要还是整理一下以前的笔记,然后再复习一下。

安装和配置#

  • Linux
# ubuntu
sudo apt-get install git
 
# centos
sudo yum install git
  • Mac 安装好XCode工具即可,它只带了git

  • Window

    • 安装git for windows,下载文件,然后和普通程序一样的安装过程
    • 安装完整版的cmder软件,里面已经集成了git for windows

配置用户名和邮箱#

打开命令行工具

git config --global user.name "YourName"
git config --global user.email "email@example.com"

初始化#

# 进入项目文件夹
cd <project folder>
# git初始化
git init

本地常用命令#

  • 提交到暂存区
# 提交某个文件到暂存区
git add <file>
# 提交所有文件(add后面是小数点.)
git add .
  • 确认提交
git commit -m "提交的信息"
  • 状态查询
git status
  • 查询修改
git diff
  • 查询提交历史
git log
# 查询的历史安装每行美化排列
git log --pretty=oneline
  • 查询命令历史
git reflog
  • 版本回退
# 版本回退到指定的commit
git reset --hard <commit_id>
  • 撤销修改/删除
# 场景一
git checkout -- <file>
# 场景二:撤销暂存区的修改,然后回到场景一
git reset HEAD <file>
  • 删除文件
# 删除文件
rm <file>
# 删除暂存区的文件
git rm <file>

远程仓库操作#

  • 生成ssh key,在命令行中输入,以你的邮箱生成 key,然后按 3 次回车后完成。
ssh-keygen -t rsa -C "email@example.com"

然后在你电脑中找到相关文件,比如win10是在C:\Users\hale\.ssh下面有 2 个文件id_rsa(私钥)和id_rsa_pub(公钥),然后在远程仓库配置公钥,具体配置查看相关远程仓库(githubgitee)的文档。

  • 添加远程仓库
git remote add <remote_name> git@server-name:path/repo-name.git
# example
git remove add origin git@github.com: alanhaledc/vue-elm.git
git remove add github git@github.com: alanhaledc/vue-elm.git
git remove add gitee git@gitee.com: alanhaledc/vue-elm.git
  • 查看远程仓库信息
git remove -v
  • 推送到远程仓库
# 推送本地仓库主支master到远程仓库
# 推送之前需要再远程仓库上创建一个仓库
git push origin master
# 推送本地仓库分支到远程仓库
git push origin <branch_name>
  • 克隆远程仓库
# 使用ssh协议克隆
git clone git@server-name:path/repo-name.git
git clone git@github.com: alanhaledc/vue-elm.git
 
# 使用https协议克隆
git clone http://server-name:path/repo-name.git
git clone http://github.com/alanhaledc/vue-elm.git
 
# 克隆分支
git clone -b <branch_name> git@server-name:path/repo-name.git
git clone -b vue-cli2 git@github.com: alanhaledc/vue-elm.git
  • 获取远程仓库
# 获取本地仓库没有的远程仓库数据
git fetch
  • 删掉远程仓库
# 删掉绑定的远程仓库(注意不会删掉远程仓库的代码)
git remote rm <remote_name>

分支管理#

  • 查看分支
# 查看所有的分支
git branch
  • 创建分支
git branch <branch_name>
  • 切换分支/主支
git checkout <branch_name>
  • 创建并切换分支
git checkout -b <branch_name>
  • 合并分支
# 合并某分支到当前分支/主支
git merge <branch_name>
  • 删除分支
# 删除莫个分支
git branch -d <branch_name>
# 强行删除某个分支
git branch -D <branch_name>

标签管理#

标签语义化,便于阅读,方便管理版本信息。

  • 打印标签
# 在当前最新commit上打上标签
git tag <tag_name>
# 在某个commit上打上标签
git tag <tag_name> <commit_id>
# 创建带有说明的标签(-a 后面是标签名 -m 后面是信息说明)
git tag -a <tag_name> -m <"tag_message"> <commit_id>
# example
git tag -a v1.0 -m "version 1.0" 840ba16
  • 查看标签
# 查看所有标签(显示所有标签的名称)
git tap
# 查看某个标签的信息
git show <tag_name>
  • 推送标签
# 推送某个标签到远程仓库
git push origin <tag_name>
# 推送所有标签到远程仓库
git push origin --tags
  • 删除标签
# 删除本地标签
git tap -d <tag_name>
# 删除远程仓库的标签
git push origin :refs/tags/<tag_name>

在线仓库#

在线的 Git 仓库,国外比较出名的有githubgitlab等,国内的有码云giteecoding等。

  • github:不多说了,09 年 1 月 7 号新增了免费仓库(仓库协作者 3 个以内无限免费),微软太强大了,做得好!
  • gitee(码云): 国内的代码管理平台,广告有点多,但国内使用速度快,如果嫌github速度慢的话,可以使用它。

IDE(编辑器)#

现在很多的IDE或者编辑器都自带了 git 的可视化操作,以后可以不用死记 git 的命令了,直接使用编辑器的可视化操作。下面简单介绍一下。

  • WebStorm

WebStorm 的 git 操作非常强大,用了之后都不想使用 git 命令了。

右键目录栏里面的文件/文件夹,选中 git ,然后就是各种 git 的操作了(add, commit, revert 等等),非常方便。

甚至可以不用先去创建仓库,直接就分享到 github 中,点击VCS - Import into Version Control - Show Project on Github即可。

  • VSCode

VSCode 是 MicroSoft 开源的编辑器,是现在最流行最好用的免费的编辑器之一,插件系统非常强大,装好插件之后写代码就是一个“爽”字。里面有多款 git 插件,非常强大。当然它本身也集成了 git 功能。

编辑器左侧有一个Source Control源代码管理,也可以进行可视化操作,再配合一些 git 的插件,非常好用,而且支持中文,这里就不过多介绍了,谁用谁知道。

总结#

上面的命令可以满足大部分的日常开发需求了。如果还有其他需求,可以去官方网站查看相关文档。

参考资料:#