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(公钥),然后在远程仓库配置公钥,具体配置查看相关远程仓库(github,gitee)的文档。
- 添加远程仓库
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 仓库,国外比较出名的有github、gitlab等,国内的有码云gitee、coding等。
- 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 的插件,非常好用,而且支持中文,这里就不过多介绍了,谁用谁知道。
总结#
上面的命令可以满足大部分的日常开发需求了。如果还有其他需求,可以去官方网站查看相关文档。