说到版本控制工具,也和编程工具一样,五花八门,从早期的CVS到SVN,再到现在非常流行的Git,历经变迁,可以说各有各的优势。我刚参加工作的时候,用的比较多的是SVN,它是一个很好的版本控制工具,但它的思想仍然是中心式的,每个客户端有自己的拷贝,修改完提交到中心服务器。这种中心式的控制系统有个缺陷,就是一旦中心出了问题,如,服务器磁盘损坏,就会出大问题,所以有些公司采用中心备份的方式来规避风险。Git就不同了,Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,这个系统也是Linus开发的,他的理念是:任何代码仓库建成集中式都是不安全的,只有分布式才是安全的,没有中心,因为一旦中心被毁,将一无所有!

Git的缺陷就是比较复杂,命令太多,一不小心就容易出错,所以,这让我想起了以前Unix布道者说过的那句话“Unix并不复杂,使用它只需要一点点天分”,好了,言归正传,下面是我整理的一些常用的Git命令:

1.git clone "http://ip_address/subdir/project.git" 第一次下载源代码

2.git config --list 列出本地的Git配置

3.git fetch 取远端代码

4.git merge 把远端取到的代码和本地的代码进行合并

5.git status . or git status filename 当本地修改完成以后,看目录或者文件的状态,它会显示出本地有哪些变化,如图所示

6.git diff . or git diff filename 查看文件的具体变化,如图

可以看到这个文件多加了一行宏定义

7.git add filename 把修改了的文件新增上库

8.git rm filename 从库上删除,即不再跟踪这个文件的版本

9.git commit -m "提交代码说明"

10.rm filename ; git checkout filename 它没有类似svn revert 的替换命令,我采用的方法是,如果你确实要把这次的修改完全回退到没修改之前,可以用这两条命令替代

11.git push -u origin master 相当于svn ci ,这才是去合入远程主干

12.git log 查看提交记录

13.git log --pretty=oneline filename 只看这个文件的git提交记录

14.git reset --hard commitID 把本地代码回退到库上某一固定版本

15.git stash save "保存说明"

16.git stash list 查看保存了哪些存储

17.git stash pop 弹出第一个保存的存储

这些命令比较常用,Git的命令远不止这些,还有一大堆,Git和SVN孰优孰劣争论的意义不大,都是工具,没必要非得抬高一者贬低另一者,作为程序员,更重要的是看清每一种工具的特点,根据自身的项目情况,合适地选择。

git rollback代码都没了_Git使用总结相关推荐

  1. git rollback代码都没了_git回滚线上代码

    由于之前自己推代码的时候操作失误,才push代码的时候没有push到dev分支,而是push到了本地master同名分支的线上master分支,覆盖掉了线上在用的代码.在搜索解决办法的时候,发现网上给 ...

  2. git rollback代码都没了_ECBM库也能自动更新吗?——论GIT的用法

    小问号,你是不是有很多朋友?为啥这次没更新教程了呢,其实这是因为ECBM2.1版马上要发布了(PWM教程出的时候发布2.1).这次发布新版本,我想通过gitee更新,一方面只要大家关注了我的码云账号, ...

  3. 华为java一个月写多少行代码_[财经]阿里员工吐槽华为:面试官1万行代码都没写过? - 南方财富网...

    5月7日,有疑似阿里员工在社交网络上爆料称,打算跳槽华为,但是去面试后,真的是太失望,因为面试官真的是太水了. 从这位网友晒出的帖子看,一名阿里的员工面试华为云后端开发的岗位,但过程并不顺利,因为面试 ...

  4. 华为一面+二面(一二面代码都没撕出来)

    一面(约50min): 1.自我介绍 2.说说你得的这个xx奖 3.学过数据结构吗 如果您问的是门课,没学过 4.学过软件工程吗 没有 5.讲讲你当时笔试的情况吧,你笔过两次 对,第一次没过 6.第一 ...

  5. 安卓软件错误log_关于android程序的log错误信息的问题,请明白人看下吧,我是初学者,新建的android项目,一个代码都没改过...

    log信息:07-0801:55:43.985:ERROR/vold(27):Erroropeningswitchnamepath'/sys/class/switch/test'(Nosuchfile ...

  6. 从码云git pull代码显示没权限

    1.不知道什么原因,当我再次用xshell连接服务器上代码,从码云上拉取最新代码时,给我报这个错误: Permission denied (publickey). fatal: Could not r ...

  7. idea中git更新代码到本地之后自己写的代码不见了

    今天在合并分支的时候不小心选错了合并选项,导致本地刚写的代码都没了 解决办法 1.找到本地历史记录 2.选择自己想要的版本 3.点击RevertSelection恢复

  8. 高校二手交易代码_@21考研er:985高校捡漏指南!这些专业去年都没招满!!

    大部分考研er都有名校梦,985.211院校成为许多同学追逐的目标. 可能大家会觉得名校的生源一定非常充足,但其实有许多985院校每年都有专业因为一志愿考生上线不足或复试合格不足而需要接收调剂生. 2 ...

  9. git没有冲突 但是提示有_git 代码冲突处理

    在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes to 'c/environ.c' would be overwritten b ...

最新文章

  1. 安卓模拟器BlueStacks 安装使用教程(图解)
  2. android 上传文件到服务器
  3. 剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列
  4. Flex 布局教程:语法
  5. java 枚举类型知识点记录
  6. 一文讲清楚目标检测中mAP、AP、precison、recall、accuracy、TP、FP、FN、TN
  7. mysql 分号子查询_MySQL子查询详解
  8. 【对讲机的那点事】解读无管局《回答》:充分理解物联网产业诉求,值得点赞!...
  9. 禁止WinXP文件夹自动展开
  10. Dll中的方法向外返回dynamic类型可能会失败
  11. 电子档案管理系统java,电子档案管理系统单点登陆示例
  12. Emby for Mac(多媒体影音库)
  13. Matlab c2d离散用法
  14. 面矢量栅格化(python)
  15. jane street market prediction 冠军方案 奇巧淫技与topline链接整理(3/3)
  16. python中的pd进行数据处理
  17. Linux之集群部署(超简单!)
  18. python3 破解 geetest(极验)的滑块验证码
  19. directx修复工具win7_win10下安装win7双系统的惨痛教训!
  20. 车辆管理平台发展思考

热门文章

  1. 项目管理经验谈——来自项目管理群的讨论
  2. 程序员为什么会有职业瓶颈?
  3. Android 手机适配
  4. [JZOJ] 5837.Omeed
  5. Node.js-提供了四种形式的定时器
  6. http和ftp下载的区别
  7. 软件熵:软件开发中推倒重来的过程就是软件熵不断增加的过程
  8. Odd Translation(一)
  9. 【ACE Meetup天津站】云计算时代的运维管理
  10. 31、如何安装第三方模块?以及用过哪些第三方模块?