在项目开发过程中,由于经常要修改文件然后共享发布,但我们只是单独改变,拷来拷去比较麻烦。现介绍一点简单的git命令用于我们的开发。
首先我们知道服务器IP是:10.66.3.200
我们当前最新的代码在机子的目录:/home/user/Android-0916
如果我们仅仅想修改某一个工程,如Settings这个package,那么我们可以先从服务器上将其下载下来,命令:
$ git clone user@10.66.3.200:~/android-0916/packages/apps/Settings
这个命令会将代码下载到你本地的当前工作目录下,包括.git文件夹。
在本地,进入Settings目录,你可以利用命令
$ git whatchanged
获得修改的信息,其信息格式一般为:
Commit 22XXXXXXXXXXXXXXX(一串字符)
……..
Commit 11XXXXXXXXXXXXXXXX
………
诸如这样的信息,它会列出哪些文件被修改过。当然你可能更想知道文件的哪些地方被修改过,那么diff命令就可以派上用场
如果直接是git diff,那么是与最近的一次commit进行比较,这就是为什么我们可以直接用git diff命令获得我们修改的代码(注意,前提是我们没有commit过)。
如果想知道更多的修改信息,我们需要用到以下命令:
$ git diff <commit>
如上面的信息,如果利用以下命令:
$ git diff 11XXXXXXXXXXXXXXXX
则可以获得与commit 11XXXXXXXXXXXX的不同信息,利用这个信息,我们就可以很容易地知道文件的哪些东西在哪一次被改变过,从而也使我们有目的地去看代码。
那么,我们修改了代码,同样要commit,这样才能将我们的代码加入到git下。当然commit之前我们需要add进去。还是以 Settings为例,假如我们修改了Settings/src/com/android/settings /EthernetSettings.java这个文件,并且还添加了Settings/src/com/android/settings /Ethernet/EthernetProxyConfigDialog.java这个文件,然后准备发布出去,那么我们现在要做的就是如下的工作:
首先,你可以利用$ git status获得当前的git里的信息,它会告知你以上两个文件修改过,但还没有add(或是update)进去,因此我们需要add进去,命令如下:
$ git add –A
这个命令将全部修改(添加)过的文件add进去,当然你也可以单独add,如:
$git add src/com/android/settings/EthernetSettings.java