android 案子git管理

来源:互联网 发布:淘宝上的半价lol点卷 编辑:程序博客网 时间:2024/05/03 22:46

小陶的git经验


Git比SVN好的地方在于两点:轻量级、分布式。
 其中分布式的意思是Git不需要一个中心服务器,或者说【任何一台使用git的电脑都可以当服务器】,建立代码库服务器异常简单。

安装:在Ubuntu/Debian下直接apt-get:
 sudo apt-get install git-core

目前为止git没有为Windows专门写安装包,要在Windows下使用git,需要cygwin,也不麻烦。

以下分两种应用 场景 来说明git的使用。
 1. 个人使用,不用建专门的代码服务器。
 2. 多人维护代码,需要代码建服务器。

1. 个人使用,不用建专门的代码服务器。
 很简单。假设你的代码放在/home/usr1/project目录下(非空),那么运行:
 git init
 git add .
 git commit -m "init version"
 然后git代码库就建立好了,目录下会多出个.git目录来。
 git init就是初始化,
 git add是标记上要添加的文件,"."表示当前目录,此命令会递归标记所有子目录及文件。
 git commit就是把标记上的文件和修改的文件commit到git库里,-m参数是添加对此次commit的注释,git要求每次commit都必须有注释,如果没有-m参数,将会自动打开一个编辑器(通常是vi或nano)要求输入注释。
 以后,如果修改了文件,则运行git commit -m "<comments>"就可以将修改反映到git库,将<comments>替换为你想要的注释。
 
    如果添加了代码文件new_file,则在commit之前运行
    git add new_file
 
    如果想把代码克隆一份出来,进入你想克隆到的目录运行:
    git clone /home/usr1/project new_project
 
    注意git clone后有两个参数,
 第一个参数是源代码目录,也就是含有.git文件夹的目录。
 第二个参数是要克隆到的目录,如果省略,则会在当前目录下建立一个与源代码目录同名的目录,在本例中就是./project
    克隆出的目录包含克隆前目录的所有代码修改信息,是完全独立的,
 即之后在new_project下的所有修改与commit都不会影响原project。
 
2. 多人维护代码,需要代码建服务器【这里是ubuntu代码服务器,windows的暂不介绍】。
    假设代码服务器的IP是10.0.0.2。git默认用ssh作为网络通讯协议,所以在服务器10.0.0.2上安装ssh:
    sudo apt-get install ssh
 
    然后添加用户,比如usr2,home目录是/home/usr2。以usr2用户登录10.0.0.2,建立一个/home/usr2/project目录来存放代码。
 在/home/usr2/project目录下运行:
    git --bare init
    一条命令就把服务器就建好了。--bare命令是告诉git当前目录不含代码,以后commit时只用保存修改就可以了。
 
    在本机下载代码与 场景 1一样:【若代码服务器也是编译服务器,一机两用
    git clone /home/usr2/project new_project
 
    如果要在另外的电脑下载代码,运行:
    git clone usr2@10.0.0.2:project new_project
    此命令会以ssh方式连接10.0.0.2,
 如果第一次连接,会询问是否信任该服务器,输入yes后。
 然后输入usr2用户的密码就可以了。
 
 克隆地址usr2@10.0.0.2:project在home目录,其实不需要,亲测user@192.168.0.136:/media/Disk1_150G/prj-test,即使用“用户名@绝对路径”的方式也是可以的。
    注意git clone后第一个参数的格式,为<用户名>@<服务器IP>:<相对路径>,其中<相对路径>是指相对于<用户名>所在home目录的相对路径,
 比如此例中,usr2的home目录是/home/usr2,那么此例的路径实际为/home/usr2/project。<相对路径>不能留空或省略,
 如果代码确实是在home目录下,则<相对路径>是".",不含双引号。
 要提醒一下的是,如果代码库是空的,会给出警告,不必理会。
 
    如果在new_project里修改了代码,且添加了新代码new_file,想把这修改commit到服务器上,先运行:
    git add new_file //这里也可以使用git add . 来完成,因为服务器上只会保存修改,所以全部上传也可以。
    git commit -m "<comments>" //将<comments>替换为你的注释。这样代码就commit到【当前机器】的new_project了。
 
 如果想commit到服务器上,则在new_project目录下运行:
    git push usr2@10.0.0.2:project master
    然后输入usr2用户的密码。
 master不是目录名,具体含义本文不作解释。
 
    如果本机就是服务器,那么IP地址可以写为localhost或127.0.0.1。
 
    如果觉得每次输入usr2@10.0.0.2:project很麻烦,可以为这个URL取个别名my_server:
    git remote add my_server usr2@10.0.0.2:project
 
    这样前一条git push命令可以写作:
    git push my_server master

0 0