好消息,github已经有了官方的中文说明文档,大家可以参考学习(当然作为程序员还是需要良好的英语基础的):https://help.github.com/cn
阅读本文时请及时查阅前两篇文章,这是一整套的教程哦:
tag推送
新建的整个过程就是现在本地新建一个tag,完后上传到github的远程仓库中;删除的整个过程是需要现在github远程仓库中删除,完后再在本地仓库中删除
-
通过命令:
git tag
查看已有的tag; -
通过命令:
git tag tag的名字 -m "注释内容"
新建一个tag推送,此时只是在本地仓库有了这个新建的tag推送,远程仓库没有; -
通过命令:
git push origin tag的名字
或是git push --tags
将新建的tag上传到github远程服务器上,提交成功后刷新即可在远程仓库看到;(首次打开gitbash进行这一步时是需要验证的,会提示输入github的用户名完后在弹出的窗口中输入密码验证的。)
git push --tags上传tag(此图后续补的,不要在意路径问题)
-
通过命令:
git push origin --delete Tag名
删除远程仓库; -
通过命令:
git tag -d Tag名
删除本地仓库;
Branch(分支)推送
-
通过命令:
git branch
查看当前已有的分支已经当前我们处于哪个分支下。(*号键表示我们当前所处的分支)。命令:git branch -a
可以查看本地分支与远程仓库分支,远程仓库分支显示为红色; -
通过命令:
git checkout -b 分支名
此处是新建一个名为FZtest01的分支,此时只是在本地仓库新建一个分支; -
通过命令:
git push origin 分支名
将分支上次到github远程仓库中,在远程仓库中刷新即可显示;
-
通过命令:
git checkout 分支名
切换当前所处分支; -
通过命令:
git push origin --delete 分支名
删除远程仓库上的分支,刷新github远程仓库即可看到这个分支已经没有了(或是使用命令:git push origin :分支名
,意思是用空的分支替换冒号后的分支即删除冒号后的分支); -
通过命令:
git branch -d 分支名
删除本地仓库的分支,如果需要删除A分支则需要先切换到别的分支下进行删除;
-
通过命令:
git checkout --track origin/远程分支名
解决远程新建了一个分支,但是本地没有该分支。通过此命令会在本地新建一个与远程分支名相同的本地分支,会自动跟踪远程的同名分支。(即我在远程仓库新建了一个A分支但是本地没有这个分支,通过上述的命令可以在本地新建一个同名的A分支就解决了这个问题)
-
通过命令:
git push --set-upstream origin 分支名
如果本地新建了一个分支 但是在远程没有,这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,可以利用 git push --set-upstream origin 分支名 ,这样就可以自动在远程创建一个同名分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。 -
通过命令:
git merge 需要合并的分支名
可以将分支与主分支master合并;(提示Already up-to-date,你可以理解成分支与主分支相同,合并就不成功。) -
通过命令:
git remote update origin --prune
更新远程分支; -
git merge最简洁用法:
- (1)开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master //切换到master主分支
git merge dev //将开发分支合并到master主分支
git push -u origin master //提交到远程仓库
- (2)当master代码改动了,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev //切换到dev开发分支下
git merge dev //将主分支master合并到dev开发分支
git push -u origin master //提交到远程仓库
- (3)git merge origin master 和 git merge origin/master的区别在哪里?
git merge origin master //将origin merge 到 master 上
git merge origin/master //将origin上的master分支 merge 到当前 branch 上
一般进行merge操作时,最好先checkout到你希望进行merge操作的分支(假设现有分支branchA与分支branchB,想将分支branchA合并到分支branchB上),此时就需要我们先checkout到分支branchB上,然后再进行
git merge branchA
因为你不能确保是否产生confict,所以先checkout到branchB上。
此外,为了保险起见,你可以在merge前先建一个备份分支
git checkout -b branchB_backup
-
git push origin与git push -u origin master的区别:
- 命令:
git push origin
表示将当前分支推送到origin主机的对应分支,如果当前分支只有一个追踪分支,那么主机名都可以省略。 - 命令:
git push -u origin master
命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。 - git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。
- 命令: