zoukankan      html  css  js  c++  java
  • Git应用于Android项目的入门知识:我的理解

    Git应用于Android项目的基本知识。
        常常将git,repo和gerrit三种工具配合起来使用,使Android开发中的部分工作自动化。并适应敏捷项目管理的需要。
        repo是Google在git上开发的版本库管理工具,是用Python编写的脚本库,用来统一管理多个git仓库。
        gerrit是适用于git项目的基于WEB的代码review及权限控制系统。它让有权限的用户可以提交代码,提交的代码review和verify后会自动合并。

        Git本地库分成工作目录,索引和仓库。假如说我们的产品是“修改”,我将其理解为,在一个工作台上产生修改(工作目录),给一批修改加上标签(索引),最后组成一个批次入库(仓库)。git的基本操作就是如何让修改在这三部分间双向传递。

        给修改加上标签:git add,可以添加文件,文件夹,或者.(当前目录所有内容)。相对应的,git reset HEAD 可以去掉标签,同样可以添加文件,文件夹或者所有内容。
        注意,如果“修改”是删除文件,使用git rm 而不是git add。
        这里的HEAD, 我将其理解成最近一次提交的批次,reset HEAD并不会改变本地文件。

        另外,一次提交之前可以只add部分文件,没有加标签的文件不会入库,也不会受影响。


        让一批加上标签的修改入库并统一成一个批次:git commit。同样,也可以反悔:git reset --soft HEAD^,这样上次入库的文件会回到加上标签但未入库的状态,上次提交的信息也没有了。
        有时候,我们多次提交但想让这些修改在仓库中显示成同一个批次,此时可以用git commit --amend。
        在这里,HEAD、HEAD^和HEAD~2分别表示最近一次,倒数第二次和倒数第三次提交批次。--soft表示工作目录和索引中的文件完全不会改变,只会改变仓库中的提交批次记录。相反,如果用--hard,那么本地文件就会变成和仓库中该批次文件一样。

        用git checkout可以将仓库中的文件取出来,覆盖工作台上的文件。但是,已经加标签(git add)的修改是不会被覆盖的。

        以上是我理解的git基本操作,虽然不准确,但确实对我使用git有帮助。这些都是在同一个分支上操作。而git的精华是多分支并行构建一个项目。下次有时间再来学习对git分支的基本操作。

  • 相关阅读:
    HDU 5492 Find a path
    codeforce gym 100548H The Problem to Make You Happy
    Topcoder SRM 144 Lottery
    codeforce 165E Compatible Numbers
    codeforce gym 100307H Hack Protection
    区间DP总结
    UESTC 1321 柱爷的恋爱 (区间DP)
    HDU 4283 You Are the One (区间DP)
    HDU 2476 String painter (区间DP)
    UESTC 426 Food Delivery (区间DP)
  • 原文地址:https://www.cnblogs.com/yuanchongjie/p/4448374.html
Copyright © 2011-2022 走看看