Vivado版本控制
如果您有幸进入FPGA领域,那么会遇到版本控制问题,本文讲解的是如何用git进行Vivado进行版本控制。
一 首先需要一个git环境,并选择一个托管平台(github,gitlab,gitee)
Git下载地址:
https://git-scm.com/downloadhttps://git-scm.com/download
2 VIVADO工程代码说明
2.1 工程文件内容
(1)工程文件: .xpr
(2)代码文件 :srcs目录 /srcs/.xdc (约束文件)
/srcs/.v (工程文件)
/srcs/.vh (头文件)
/srcs/.hdl (设计文件)
/srcs/.bd (模块设计文件)
/srcs/*.xci (ip核文件)
.sdk SDK 环境代码, ZYNQ 设计中关于 PS 端的代码
.sim 仿真文件
3)脚本文件:
*.tcl 控制台脚本文件
.bat (.sh) 创建工程脚本文件
2.2 上传内容
Git管理工程文件、代码文件、脚本文件, 三个文件即可。
3 代码管理Git的使用
3.1 创建项目
※上传本地代码文件到git仓库
在代码所在目录下执行下面命令:
$ git init (初始化仓库)
$ git add . (这里的.表示添加所有文件,也可以自定义添加)
$ git commit -m ‘添加的注释信息’// git commit -m ‘原始版本上传’
$ git remote add origin ‘url’ //例如:git remote add origin http://192.168.178.28/cnyt/ococ.git
$ git push -u origin master
注:如果项目为管理员或项目负责人创建,那么则不需要自己创建项目,需要管理员提供项目链接,如:http://192.168.178.28/cnyt_app/ ococ_app.git
那么直接git clone 即可。
$ git clone http://192.168.178.28/cnyt_app/ococ_app.git
如果拉取某个分支,比如develop分支,可用下面命令。
$ git clone -b develop http://192.168.178.28/cnyt_app/ococ_app.git
3.2 建本地分支并上传分支
A在当前仓库中,使用“git branch”命令加上分支名称即可创建本地分支。
$ git branch develop
这样就建立了一个名为“develop”的新分支。
B 用“git branch”命令可以查看当前所有分支及其状态。
$ git branch
当前有二个分支,master与develop.
其中, “*”号所在的分支就是当前所在的分支,“master”是默认创建的主分支,而“develop”是新建的分支。
C 切换分支
如果需要切换到“develop”分支,可以使用“git checkout”命令进行切换。
$ git checkout develop
切换到“develop”分支后,可以在这个分支上进行代码修改和提交。
D 查看当前分支
如果需要查看当前所处的分支,可以使用“git status”命令查看状态信息。
$ git status
E 从远端目标分支(master) copy代码
$ git pull origin master
F 将本地新建的分支(develop)同步到服务器
$ git push origin develop
这样,在Gitlab端,就看到了分支develop信息。
3.3 克隆项目(下载代码)
开始做一个项目时需要克隆项目代码,用下面命令:
$ git clone http://192.168.178.28/cnyt/Ococ_app.git
或者
$ git clone [email protected]:cnyt/ ococ_app.git
3.4 切换分支
$ git checkout develop
也可直接克隆分支,如下:
$ git clone -b develop [email protected]:cnyt/Ococ_app.git
例:`
git clone -b develop [email protected]:cnyt/ococ_app.git`
3.5 拉取代码
开发过程中,要拉取(获取)最新代码,用以下命令:
$ git pull
3.6 提交更改
$ git add . (. 代表所有,也可具体到某一个文件)
$ git commit -m ‘注释’
$ git push
其中,“git add .”命令将所有修改的文件添加到本地提交中,“git commit -m”命令将提交添加到本地仓库,并为其添加一条注释,“git push”命令将本地提交推送到GitLab服务器。
3.7 拉取分支代码
在使用Git进行版本控制的过程中,经常需要拉取某个分支的代码。这里将介绍Git拉取某个分支代码的步骤。
前提条件,新建一个目录,在目录下右键启动git bash
A 初始化
$ git init
B 克隆代码
$ git clone [email protected]:cnyt/Ococ_app_TSN.git
C获取远程仓库中所有分支信息并保存到本地
$ git fetch
D 查看所有分支信息
$ git branch -a
E 切换到某个分支
$ git checkout < branch_name >
其中,
F 拉取代码
$ git pull origin <branch_name>
其中,
G 查看当前状态
$ git status
3.8 打标签
3.8.1 查看标签
$ git tag
3.8.2 打标签
在 Git 中创建附注标签十分简单。 最简单的方式是当你在运行 tag 命令时指定 -a 选项:
$ git tag -a v1.5 -m "my version 1.5"
3.8.3 将标签推送远程仓库
#推送标签v1.5到远程仓库
$ git push origin v1.5
#将所有标签推送到远程仓库
$ git push origin --tags
3.9 Git常用命令
用户名: $ git config user.name
邮箱:$ git config user.email
密码:$ git config user.password
用户名:$ git config --global --replace-all user.name "要修改的用户名"
邮箱: $ git config --global --replace-all user.email"要修改的邮箱"
密码:$ git config --global --replace-all user.password "要修改的密码"
查看修改状态:$git status
拉取远程仓库代码:$git pull
克隆远程某分支上的代码:$git clone -b 分支名称 http://xxx.git
合并分支到主分支:$git merge 分支名称
创建新分支:$git branch 新分支名
删除分支:$git branch -D 分支名
查看分支:$git branch
分支切换:$git checkout 分支名称
查看记录:$git log
查看地址:$git remote -v
强制合并代码(用于当前版本和历史提交版本不一致的情况):$git pull origin 分支名--allow-unrelated-histories
本地代码覆盖远程分支代码:$git push -f --set-upstream origin 分支名