代码打包及代码发布
一、远程分支与本地分支关联
远程分支,免输 [origin master]、[origin dev] 之类,直接使用命令 git pull、git push
之前在讲分支的时候忘记了这条,现在补上,以本地的dev分支和远程的dev分支为例讲解:
git branch --set-upstream-to=origin/dev dev 使用较新版本
git branch --set-upstream origin/dev dev 早期版本
或 修改.git/config 增加一下对应关系
之后使用git pull下载代码,使用git push推送代码后面都不用加相应的远程分支名称。
二、合并特定提交到master分支
$ git checkout -b newbranch 62ecb3 从有新提交的分支上基于某特定commit基础上创建一个新分支
$ git rebase --onto master 76cada^ 选择特定要合并的commit到主分支
三、代码发布
方式一:命令打包(适用所有平台 )
$ git archive -o ../publish_packet/pub_2017-12-25.zip HEAD
$ git diff –name-only 4f88edfcc0872a1aed6186fd53df7751bd69bfe6^
方式二:可视化 TortoiseGit (适用windows )
项目目录鼠标右键菜单 TortoiseGit -> Show log -> 选中要打包的更新版本 鼠标右键->对比文件 -> 全选文件 右键Export -> 选择路径保存
方式三:SourceTree可视化 (适用windows & mac )
- SourceTree配置自定义导出
四、git archive用法
1、运行git archive --list查看支持的归档格式有tar、tgz、tar.gz、zip
2、导出最新的版本库 git archive -o ../latest.zip HEAD
3、导出指定提交记录 git archive -o ../git-1.4.0.tar 8996b47
4、导出一个目录 git archive -o ../git-1.4.0-docs.zip HEAD:Documentation/
5、导出为tar.gz格式 git archive 8996b47 | gzip > ../git-1.4.0.tar.gz
6、导出最后一次提交修改过的文件
我一直在使用这个命令定期进行发送给其他人进行审查/整合。这条命令将把近期提交的修改过的文件导出到一个zip文件。
git archive -o ../updated.zip HEAD $(git diff --name-only HEAD^)
7、将 master 以zip格式打包到指定文件 git archive --format zip --output /path/to/file.zip master
8、比如某个版本我打了 1.0 的 tag,我想导出 1.0 所有的文件,如何操作?
如果你的 tag 名是 1.0,可以按照如下方式导出。
导出并压缩为 zip 格式: $ git archive --format=zip --output=v1.0.zip 1.0
导出并压缩为 tar.bz2 格式: $ git archive 1.0 | bzip2 > v1.0.tar.bz2
导出并压缩为 tar.gz 格式: $ git archive --format=tar 1.0 | gzip > v1.0.tar.gz