git使用

git安装与配置用户

window安装git可以去git官方网站上下载
在完成安装后还需要配置:

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]" 

因为Git是分布式版本控制系统,所以,每台机器都必须配置:名字和Email

版本库管理

git init :通过git init命令把一个目录变成Git可以管理的仓库
git add file:把文件添加到仓库暂存区
git commit -m "message":把文件提交到仓库分支
git status:查看仓库当前状态
git log:显示提交日志,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数

版本回退

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
git reset --hard HEAD^:git reset 用于版本回退。
git reflog:用来记录你的每一次命令
git diff HEAD -- readme.txt:命令可以查看工作区和版本库里面最新版本的区别
git checkout -- file意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
    总之,就是让这个文件回到最近一次git commit或git add时的状态。

要从版本库中删除该文件,那就用命令git rm file删掉,并且git commit
git checkout -- file其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

添加远程库

git remote add origin [email protected]:sunyiwei/learngit.git :添加远程库
git push -u origin master:把本地库的所有内容推送到远程库上
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。git push origin master

克隆远程仓库

git clone [email protected]:michaelliao/gitskills.git

分支管理

HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。
git checkout -b dev:git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$ git branch dev
$ git checkout dev
Switched to branch 'dev'

git branch命令查看当前分支:

$ git branch
* dev
  master

我们把dev分支的工作成果合并到master分支上:

$ git merge dev
Updating d46f35e..b17d20e
Fast-forward
 readme.txt | 1 +
 1 file changed, 1 insertion(+)

git merge命令用于合并指定分支到当前分支
合并完成后,就可以放心地删除dev分支了:

$ git branch -d dev
Deleted branch dev (was b17d20e).

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge

删除分支:git branch -d

多人协作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin

要查看远程库的信息,用git remote

$ git remote
origin

或者,用git remote -v显示更详细的信息:

$ git remote -v
origin  [email protected]:michaelliao/learngit.git (fetch)
origin  [email protected]:michaelliao/learngit.git (push)

上面显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址。

推送分支

推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:

$ git push origin master

如果要推送其他分支,比如 dev,就改成:

$ git push origin dev

标签管理

在Git中打标签非常简单,首先,切换到需要打标签的分支上:

$ git branch
* dev
  master
$ git checkout master
Switched to branch 'master'

然后,敲命令 git tag 就可以打一个新标签:

$ git tag v1.0

可以用命令git tag查看所有标签:

$ git tag
v1.0

在指定提交上打标签:

$ git tag v0.9 f52c633

标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息
git tag -d v0.1:删除标签
如果要推送某个标签到远程,使用命令git push origin

你可能感兴趣的:(git使用)