数字芯片设计领域Git入门最基本用法

数字芯片设计,验证领域,Git的最常用用法总结,不涉及多个branch,回滚版本等较复杂用法。

1.首先git clone命令,跟库地址,将库clone到本地,这时候你就有了一个工作库,此时使用git status命令可以看到tree是干净的;

2.新开发了一个case文件fileA之后,用git status命令可以看到,增加了一个untracked的文件fileA,也就是不被git跟踪的文件。要想被git跟踪,第一步要用git add fileA命令,将fileA添加到本地暂存区(stage),同理如果是一个本来就存在于仓库的文件,修改后(包括rm命令,例如,rm fileC,git add fileC,只是rm操作后在2.0以前的版本可能不能使用git add,而必须使用git add -A fileC),文件就变成unstage状态,也需要git add操作,重新加到暂存区。此时git satus可以看到,fileA的状态是changes to be commited,也就是等待被提交,此时如果反悔,可以使用git reset HEAD fileA,状态又变成了untracked;

3.使用git commit -m "description",提交文件,此时文件被提交到了本地仓库,此时可以看到自己的branch是ahead 1 commit of  origin/main,也就是自己本地的库比远程仓领先一个commit,可以直接使用git push将本地仓推送至远程仓。但是大多数时候,自己的branch是落后远程仓一些commit的,这个时候需要使用git pull命令,拉远程仓到本地仓,git pull的时候又会出现一些情况,如果本地有文件fileB修改了,而且没有commit(包括没有加到暂存区和加到暂存区但是没有commit两种情况)但是远程仓的这个文件已经是更新的版本,则会提示你:error:your local changes to follwing files would be overriden by merge, please commit your changes or stash them before you can merge.这个提示的的解决方法有两个,跟提示的一样,要么commit这个文件,这样pull的时候就会自动调用git merge,要么使用git stash,这样就把你本地的修改给暂时隐藏起来,等pull完毕后,再使用,git stash pop弹出来,可以理解成一个队列把本地修改暂存。

假设现在我们git commit了本地的改动,现在再执行git pull,此时git会自动调用git merge,如果不冲突的地方,git会帮你自动merge,如果有冲突的地方,则会提示你,conflict when auto merge,这时候需要你自己打开冲突的文件,把里面冲突的地方加以修改,<<<<<和=======之间的是你本地的内容,======和>>>>>>>>之间的是远程仓的内容,你自行决定保存其中之一还是两者都保存,只要 记得删除这些特殊标记就行,删除完毕后,此时这个文件的状态是:unmerged path,而远程仓被别人新push的文件显示:Changes to be committed.再次执行git add,git commit,git push操作就可以push到远程仓。

回到刚刚git commit完成的阶段,假如自己反悔了,不想commit了,那么怎么回退呢,又有两个恶命令,第一git reset --soft HEAD^,推荐是用这个方式,这个方式是恢复到git add的状态,也就是暂存区,保留修改。还有一种比较暴力的方式,git reset --hard HEAD^,直接去掉所有的改动,并且恢复到git add前的状态,也就是unstage阶段。注意^表示最近一次的commit,如果想回退两次commit,则可以使用git reset --hard HEAD~2。

以上就是在芯片设计验证领域,git 80%的使用情况,当然还有切换分支,rebase等操作,使用较少,后续再补充。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值