git保存账号密码_Altium Designer 通过Git实现版本控制
為了解決每次對PCB工程進(jìn)行修改時(shí)不能回溯的問題,以及為日后團(tuán)隊(duì)協(xié)作完成某項(xiàng)工程提供方便,所以我研究了一下如何在AD中實(shí)現(xiàn)版本控制。
所幸的是,AD本身自帶VCS功能(Version Control System),并支持SVN和Git兩種VCS方式
前提條件:
安裝Git的桌面版本,如Github Desktop
安裝Altium Designer 20(目前已知16以后的版本都可以支持VCS功能,但16的使用遇到了一些問題)
在Github上建立Repository
在Github上建立Project相應(yīng)的Repository,先不要勾選生成README.md,這里以我的項(xiàng)目LLRF為例
之后在GitHub的桌面客戶端上選擇將LLRF這個(gè)庫Clone到電腦的指定路徑
添加已有的項(xiàng)目到LLRF中
如果已經(jīng)有項(xiàng)目在電腦上了,可以將項(xiàng)目相關(guān)的文件移到本地倉庫所在的文件夾,然后Commit一下,并push上去,也就是點(diǎn)擊上方的Publish branch
至此,Project里面的內(nèi)容就已經(jīng)被push到GitHub對應(yīng)的庫中了
在Altium Designer中設(shè)置
在AD中導(dǎo)入GitHub上的庫有兩種方式,接下來一一介紹
直接導(dǎo)入
如果像之前已經(jīng)把Project的相關(guān)文件導(dǎo)入到GitHub的庫中,并且本地庫和遠(yuǎn)程庫已經(jīng)同步完成,那么直接打開本地的Project即可,這時(shí)會看到Project中的文件右側(cè)會有一個(gè)綠色的?,即表示該文件已經(jīng)同步到遠(yuǎn)程庫了
接著,我們可以嘗試對Project中的文件做修改,如加入一些自己的libraries,可以看到,新加入的libraries邊上是沒有標(biāo)記的,個(gè)人經(jīng)驗(yàn),libraries本身也是不支持push的
我們保存一下Project,然后在文件列表中右鍵——Version Control——Commit Whole Project,并添加相應(yīng)的Comment,然后點(diǎn)擊Commit and Push即可
注意下面這種圖中Project對應(yīng)的PrjPcb這個(gè)文件邊上有一個(gè)紅色的?,這表示該文件已經(jīng)被modified了,但是還沒有commit和push
第一次Commit時(shí),可能會要求輸入GitHub的賬號密碼,正常輸入即可
Push完成后,再去觀察Projects列表就會發(fā)現(xiàn),文件邊上的標(biāo)志又都變成了?,同時(shí)打開桌面版的GitHub會發(fā)現(xiàn),相應(yīng)的Commit已經(jīng)被Push成功了
值得一提的是,Altium Designer自帶的VCS功能是能夠和Git打通的,這也就省去了每次在AD中修改完還需要手動到Git中再Commit一次的步驟,直接在AD中Commit and Push即可。
在Altium Designer內(nèi)clone
第二種方式是在Altium Designer中clone Git上的庫到本地。首先,在AD界面的右上角點(diǎn)擊?圖標(biāo),打開Preference——Data Management——Design Repository——Connect to/Creat New——SVN,彈出如下界面,按照以下規(guī)則填寫:
Method——如果使用的是GitHub,選擇https,不同的情況不一樣,主要看支持哪種,像碼云就可以選擇svn(svn是在Git之前就出現(xiàn)了的VCS工具,是一種商業(yè)軟件,目前很多基于Git的公共庫也支持svn,比如碼云、GitHub等)
Server——git@github.com(如果使用了其他Git倉庫就填寫相應(yīng)的域名,如國內(nèi)的碼云http://Gitee.com)
Server Port——保持Default不動
Repository Subfolder——填寫/GitHub用戶名/庫名
User Name&Password——填寫GitHub的用戶名和密碼
填寫完以后可以點(diǎn)擊Test按鈕查看是不是能夠ping通相應(yīng)的Server,如果可以會彈出"Connection OK",但是注意這里只是說明能夠連接Git所在的服務(wù)器(這里就是GitHub的服務(wù)器),不代表一定能讀寫相應(yīng)的庫
最后點(diǎn)擊OK添加,然后返回AD的主界面,點(diǎn)擊左上角的File——Check out,就可以看到如下的界面,選擇trunk點(diǎn)擊OK,就會出現(xiàn)Check out的進(jìn)度表,如果使用的是GitHub可能要等一會。
Note:trunk和branches這兩個(gè)文件夾值得注意。如果是想通過先添加Design Repository,然后將本地的Project添加到Design Repository中的方式來實(shí)現(xiàn)VCS的話(即添加庫——projects列表文件右鍵選擇Version Control——Add ....),本地的Project的所有文件需要放在Default Checkout Path的trunk或是branches文件夾下面,也就是本地版本的這兩個(gè)文件夾。造成這種操作的原因可能是svn和Git的邏輯差異——Git的Commit是要Push到master分支下的,而svn的Commit則是要Push到trunk或branches下的。
個(gè)人經(jīng)驗(yàn)來講,第二種辦法相對要麻煩一些,因?yàn)閟vn和GitHub的邏輯差異,導(dǎo)致pull下來的Project往往被放在trunk文件夾下面,容易弄得很亂。
One more way
之前說到是介紹兩種方法,但實(shí)際上還有第三種,這在第二種方法的Note中也提到了,即先建立一個(gè)Design Repository然后將本地的Project add到Version Control并Commit and Push上去,這種方法就不詳細(xì)介紹了,主要是有可能造成很多不必要的問題
總體來講,最推薦的還是在GitHub上創(chuàng)建庫——通過Git GUI軟件(如GitHub Desktop)將庫Clone到本地——將Project建在或移植到本地庫——Commit and Push,這種步驟相對比較流暢,而且除了點(diǎn)點(diǎn)鼠標(biāo)也不需要太多功夫。
Think more
在搜索相關(guān)教程時(shí),我發(fā)現(xiàn),硬件工程師普遍還是用svn來做版本控制,一個(gè)現(xiàn)實(shí)原因是Altium Designer對于Git的支持確實(shí)很迷,官網(wǎng)的document上明明寫了支持像使用svn一樣使用Git,但還是會出現(xiàn)各種問題。也難怪一位外國老哥說到:stop thinking like a programmer guy, just use svn!畢竟Git在PCB版本控制上相比svn沒有硬核的技術(shù)優(yōu)勢,支持程度還這么差...
但個(gè)人認(rèn)為,使用Git來配合AD還是有其相應(yīng)的優(yōu)點(diǎn)的,畢竟svn使用人數(shù)相對較少,且商業(yè)化程度要高一些,所以價(jià)格也要貴一些,雖然可以自建svn server,但是成本還是不低的,還要實(shí)時(shí)擔(dān)心server會崩掉。
最后講一下AD版本控制的小優(yōu)勢:
參考資料
記PCB 版本控制 (amobbs.com 阿莫電子論壇)?www.amobbs.com[簡單易學(xué)]使用Altium Designer的版本控制功能?blog.csdn.netData Management - Design Repositories?www.altium.comGit教程?www.liaoxuefeng.comVersion Control and Design Repositories?www.altium.com總結(jié)
以上是生活随笔為你收集整理的git保存账号密码_Altium Designer 通过Git实现版本控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tensorflow gpu安装_ten
- 下一篇: list转字符串_剑指offer 38—