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 <commitID>
5 $ git reflog

1~4行的作用分别是“回退到上一个版本”、“回退两个版本”、“回退100个版本”、“回退到版本号为commitID的版本”。第5行代码用于查看所有的历史提交命令。

丢弃工作区的修改

1 git checkout -- <filename>

作用是让这个文件回到最近一次git commitgit 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>

暂时就先记录这么多吧。

posted @ 2017-07-08 16:38  残雪流年xpz  阅读(108)  评论(0编辑  收藏  举报