【版本管理】多人协作及标签管理

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

要查看远程库的信息,用 git remote 或用 git remote -v 显示更详细的信息。

push推送分支:

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

git push origin master

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

git push origin dev 

克隆远程库的分支:

git clone xxxxxx.git ,从远程库clone时,默认情况下,只能看到本地的master分支。可以用git branch命令看看。

要在dev分支上开发,就必须创建远程origin的dev分支到本地,于是用这个命令创建本地dev分支: git checkout -b dev origin/dev 。

多人协作的工作模式通常是这样:

1. 首先,可以试图用git push origin branch-name推送自己的修改;

2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

3. 如果合并有冲突,则解决冲突,并在本地提交;

4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!


如果 git pull 提示“no tracking information”,则说明本地分支和远程分支的链接关系没 有创建,用命令git branch --set-upstream branch-name origin/branch-name。 这就是多人协作的工作模式,一旦熟悉了,就非常简单。

标签管理:

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

$ git branch

* dev master

$ git checkout master

Switched to branch 'master'

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

$ git tag v1.0

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

$ git tag

v1.0

默认标签是打在新提交的commit上的。

需要打在别的commit上,则需要通过git log找到commit id,再 $ git tag v0.9 commit id; 

可以用$git show tagname,如 git show v1.0查看标签信息。

还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

$ git tag -a v0.1 -m "version 0.1 released" 3628164 

还可以通过-s用私钥签名一个标签: $ git tag -s v0.2 -m "signed version 0.2 released" fec145a ,但签名采用PGP签名,因此,必须首先安装gpg(GnuPG),如果没有找到gpg,或者没有 gpg密钥对,就会报错。

操作标签:
如果标签打错了,也可以删除: $ git tag -d v0.1

如果要推送某个标签到远程,使用命令git push origin tagname: $ git push origin v1.0 

或者,一次性推送全部尚未推送到远程的本地标签: $ git push origin --tags 

如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除: $ git tag -d v0.9 

然后,从远程删除。删除命令也是push,但是格式如下: $ git push origin :refs/tags/v0.9 

原文地址:https://www.cnblogs.com/zachary93/p/6137888.html