版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangtaocsdn/article/details/79018399
欢迎转载,转载请标明地址。
版本控制工具中,Git是比较受欢迎的一个。它是一个分布式管理系统,相对于集中式系统(例如SVN、CVS)有不需要联网工作、安全性高、分支功能强大等优点。学会并使用Git会大大提高工作效率,并且对GitHub的使用就会简单的多。
安装
由于我使用的是Windows平台,所以只是说一下Windows上的安装过程。
首先,去官网下载Git。下载完成后直接打开,全部默认安装即可。安装完成后,在开始菜单或者右击鼠标会出现Git Bash和Git GUI两种打开Git的方式。我们选择使用Git Bash,因为根据我们程序员的尿性大部分都会去使用Git Bash,图形化界面多low~,哈哈。
点击打开后会弹出一个类似命令行窗口的东西,这说明我们的Git安装成功了!
安装完成后还需要进行一个简单的配置。在命令行写入:
$ git config --global user.name "your name"
$ git config --global user.email "your email"
这样你就向系统说明了你的身份。注意,–global 参数的意思是 全局的。表示这句执行对于整个你所使用的环境都有效(即你的机器)。你机器上所有的仓库都会使用这个配置。
基本操作命令
git init 把当前目录变成git仓库
git add <your file> 添加文件(把文件添加的暂存区)
git commit -m "your description" 提交文件(即把暂存区内容提交到当前分支)(-m 参数表示添加说明信息)
git status 查看仓库当前状态(是否修改等)
git diff 查看具体的修改信息
git log 查看提交(commit)的历史记录
git reset 回退到上个版本
git reset --hard <commit id> 回退到某个具体的版本(通过commit id)
git reflog 你执行过的命令的历史记录
git checkout <branch> 切换到指定分支
git checkout -- <file> 丢弃工作区的修改
git reset HEAD <file> 丢弃暂存区的修改
rm <file> 删除工作区的文件
git rm (然后git commit) 删除版本库中的文件
ssh-keygen -t rsa -C "your email" 创建SSH Key
git remote add <repo name> git@server-name:path/repo-name.git 关联远程库
git remote 查看远程库信息
git remote -v 查看远程库详细信息
git push -u <repo name> <branch> 第一次推送该分支的全部内容到远程库
git push <repo name> <branch> 推送最新修改内容
git clone <repo address> 克隆一个远程库到本地
git branch <branch name> 创建一个分支
git checkout <branch> 切换到指定分支
git checkout -b <branch name> 创建并切换到该分支(上两步的合并)
git branch 查看所有分支及当前分支
git merge <branch> 合并该分支到当前分支(fast forward模式)
git merge --no-ff <branch> 合并该分支到当前分支(普通模式,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。)
git branch -d <branch> 删除该分支
git branch -D <branch> 强制删除该分支
git log --graph 查看分支合并图
git stash 存储当前工作状态
git stash list 查看存储的所有工作状态
git stash apply 恢复工作现场
git stash drop 用于在恢复工作状态完成后删除stash内容
git stash pop 恢复工作状态并删除stash内容(上两步的合并)
git tag <name> 创建tag
git tag 查看所有标签
git push <repo> <tagname> 推送标签到远程仓库
git push <repo> --tags 推送所有未推送的标签到远程仓库
git tag -d <tagname> 删除本地tag
git push origin :refs/tags/<tagname> 删除远程库tag
这些命令基本涵盖了Git的基本操作,其实不用刻意去记忆,使用几次有点印象就好,想不起来就查查,这也是我写这篇博文的目的,就是方便大家的查询使用!