首页 > 代码库 > Git的基本使用
Git的基本使用
以前没有用过Git或者版本控制的软件,前段时间做课设,由于担心大幅度的修改难以恢复原来的样子,于是我每次大幅度修改之前都先备份一下当前的项目。最后整整做了将近20个备份,这时候我才体会到手动管理版本是一件多么辛苦的事情。于是,这两天开始学习Git这个目前最流行的分布式版本控制系统以及Github。这篇文章主要记录一下学习过程中的一些笔记,方便日后查询回顾,也可以加深印象。以下内容主要是学习Git教程—廖雪峰的官方网站总结下来的,在此感谢廖老师的教程。
Git的常用命令
设置全局的用户名以及用户邮箱
1 $ git config --global user.name "Your Name" 2 $ git config --global user.email "email@example.com"
git config命令的--global参数表示这台电脑所有git仓库均使用这个用户名和用户邮箱,也可以对某个仓库指定不同的用户名和Email地址。
创建Git仓库
1 $ git init
将工作区的内容添加到暂存区
1 $ git add <filename>
将暂存区的内容提交到仓库
1 $ git commit -m "xxx"
-m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
查看仓库当前状态
1 $ git status
可加-s参数,显示简短的状态提示
查看修改文件具体修改了什么
1 $ git diff <filename>
查看提交日志
1 $ git log
版本更改
1 $ git reset --hard HEAD^ 2 $ git reset --hard HEAD^^ 3 $ git reset --hard HEAD~100 4 $ git reset --hard HEAD^ <commitID> 5 $ git reflog
1~4行的作用分别是“回退到上一个版本”、“回退两个版本”、“回退100个版本”、“回退到版本号为commitID的版本”。第5行代码用于查看所有的历史提交命令。
丢弃工作区的修改
1 git checkout -- <filename>
作用是让这个文件回到最近一次git commit
或git add
时的状态。
撤销暂存区的修改
1 $ git reset HEAD <filename>
HEAD表示最新的版本,该命令把暂存区的修改撤销掉(unstage),重新放回工作区
删除一个文件
$ git rm <filename>
把本地master
分支的最新修改推送至GitHub
1 $ git push -u origin master
当远程库是空的时候,我们第一次推送master
分支时,要加上-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令,不写-u。
创建、切换、合并以及删除分支
1 $ git branch <name> 2 $ git checkout <name> 3 $ git checkout -b <name> 4 $ git branch 5 $ git merge <name> 6 $ git merge --no-ff -m "xxx" <name> 7 $ git branch -d <name>
1是新建分支,2是切换分支,3是新建并切换分支,4是查看分支,5是合并某分支到当前分支,6是以普通模式合并分支,7是删除分支。更详尽的分支管理策略参见Git分支管理策略—阮一峰的网络日志。
查看分支合并图
1 $ git log --graph 2 $ git log --graph --pretty=oneline --abbrev-commit
1是查看详细的版本分支图,2是查看简略版的版本分支图
把当前工作现场“储藏”起来
1 $ git stash 2 $ git stash list 3 $ git stash pop 4 $ git stash apply stash@{n}
1是储存当前工作区内容,2是查看已储存的工作区内容,3是恢复最近储存的工作区内容并删除储存的该工作区,4是应用指定的工作区内容,仍然保留着该工作区
丢弃一个没有被合并过的分支
1 $ git branch -D <name>
创建标签
1 $ git tag <name>
这是给当前分支的最新提交的commit打标签
查看所有标签
1 $ git tag
给某次提交打标签
1 $ git tag <tag_name> <commitID>
查看标签信息
1 $ git show <tag_name>
删除标签
1 1 $ git tag -d <tag_name>
暂时就先记录这么多吧。
Git的基本使用