您的位置:首页 > 其它

git安装与使用

2011-08-02 09:57 141 查看
/**

* Use this method in situations where audio mixing is done in the

* hardware. This method serves as a direct interface with hardware,

* allowing you to directly set the volume as apposed to via the framework.

* This method might produce multiple PCM outputs or hardware accelerated

* codecs, such as MP3 or AAC.

*/

virtual status_t setVolume(float left, float right) = 0;

wget http://msysgit.googlecode.com/files/Git-1.5.4-preview20080202
GIT首页 http://git.or.cz/
WINDOWS版本GIT首页 http://code.google.com/p/msysgit/downloads/list
//-----------------ubuntu 安装GIT----------------------------------------------

1: 在ubuntu 下安装

先从http://git/or.cz那里下一个后git-core-1.5.6.~i386.deb(文件名有这样的字符在里面就差不多了)的包.

然后安装.

2: 再装个OpenSSH,GIT要靠它通信.

sudo apt-get install openssh-server

sshd

//------------------操作------------------------------------------------

1: 找一个或者创建一个路径,这个路径的权限要给够

2: 进入到第一步的那个路径下,那个路径为当前路径,以后的操作都以这个当前路径为基准

3: 如果是开始新一个工程(在其它机子上没有这个GIT工程),则用GIT命令初始化这个目录

git --bare init 或 git init //git --bare init

git config user.name "" //顺便登记一下你的名字,以便在以后查看记录的时候便于标明这是谁谁谁搞的

git config user.email billankign2002@126.com  //你的邮箱

如果在其它机子已经开始了这个工程,则就没必要初始化了,直接从那机子上克隆一个过来.克隆的时候它会连文件夹也带过来.

git clone <登录那机子的帐户名>@<那机子的IP>:<具体路径>

4: GIT仓库(这个是人看不懂,由GIT命令管理的)可以管理好几个分支.这些分支可以用来分配给不同的人操作.上面的初始化只默认创建了一个master分支,

  在工作的时候最好不要在master主分支下干活,因为这个分支主要用来合并其它分支的,所以这个时候要创建其它分支,要多少个随你的便

git branch <分支名>

5: 前几步已经完成了工作树(也就是上面说的那个当前路径)跟仓库的建设了.可以开始工作了,工作的时候,所有的涉及的文件都必须在那个目录下(也称工作树)干活.

6: 当干了很久的活了,觉得有必要把已经完成的活放入GIT仓库里去了,那么这个时候,先进入到当前路径下

   然后再选择自己所属的分支

git checkout <分支名>

   如果要把更新的文件放入仓库

git add . //添加所有的,如果没有新增文件则可以不使用此命令,用了也死不了

git commit -a -m "1.0.0.1" //提交,并且以 "1.0.0.1" 这个字符串来决定这次提交的信息,以利于还原的时候有个参照信息

 当你觉得搞错了,不应该提交,要反悔了,你可以反悔

git reset

   当你要返回到历史的某个时刻的状态

你可以参照 git checkout

7: 对于非管理员的干活的,至此就差不多了.

8: 工程完成了一段时间后,觉得有必要把全部的分支合并到master当中来了,这个时候

先选择master分支

git checkout master

然后再使用,有多个可以使用多次合并

git merge <其它分支名>

9: 到这里上面的操作都是在本地的仓库里面捣腾,没有在其它机子里面的仓库里干活.

10: 当几台机子上都有同样的GIT工程在开工干活的时候

  这个时候A机子主动要跟B机子同步一下的话,得先让B完成他的分支合并,A机子才能真正的拿到数据

git pull <帐户名>@<IP>:</PATH> master //一般是把他的master拿过来同步

  如果A不主动要求同步,则B可以把他的分支主动送给A,前提也是B先合并自己的分支到主分支

git push <帐户名>@<IP>:</PATH> master //按道理这里不应该上传到人家的master分支上,最好上传到一个临时分支上

-------------------------------------------------------------------------------------------------------------------------

GIT 常用命令

-------------------------------------------------------------------------------------------------------------------------

Step 1: setup a bare GIT repository

mkdir directory

cd directory

git --bare init //setup a bare GIT repository

git init

chown -R username

git config user.name "" //在/config当中增加项

git config user.email billankign2002@126.com

git var -l //列出所有的配置项变量

git-clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

//远程下载一个GIT项目,也叫克隆一个tree

//---------------------------------------

cd test

git-clone ../test_git //down current directory git source to the here

SSH协议:

帐户名@IP:/PATH

//---------------------------------------

git initdb //

git-pull //更新本的git tree,类似cvs update

git-diff //列出本地的tree与各版本的tree的不同

//------------------------------------------

列出自己tree与master的不同  # git-diff

列出自己tree与某一个version的不同 # git-diff v2.6.22

列出某一个文件,和以前某个version的该文件的不同:

# git diff v2.6.20 init/main.c

注意结果中+表示自己的tree,-表示2.6.20的。

列出两个tag中某一文件的不同:

# git-diff v2.6.23 v2.6.24-rc1 init/main.c

//------------------------------------------

git-gui //图形界面的git

git-apply //用来apply那些用git-diff生成的补丁

git-describe //查看当前版本

git -add -a //本目录下所有文件和子目录

git -commit //提交

//--------------------分支的概念-------------------------------------------------------

GIT创建仓库的时候默认创建master主分支,为了安全,最好创建其它的工作分支.分支就混在master里面,肉眼看不出区别来.

git branch 分支名 //创建一分支

git checkout 分支名 //改变当前分支.

git branch //列出当前所有分支,并标明主分支

cat .git/HEAD //这个玩艺儿也能告诉你你当前使用的是哪个分支

git diff 分支名1 分支名2 //查看两个分支之间的不同之处

//工作当中肯定要做一些几个分支合并到主分支的活

1: git checkout 分支名 //回到需合并到的分支

2: git pull . 其它分支名 //把其它的分支合并

3: 还有一个命令可以使用 git-merge <其它分支名>

//-----------------从GIT库中还原文件-----------------------------------------------

1: git checkout 分支名 //先选择分支

2: git checkout 文件名

3: git checkout -f //提取全部文件

//-----------------SSH协议---------------------------------------------------------

1:安装SSH协议

UBUNTU下 sudo apt-get install openssh-server

2:用SSH相互访问

ssh -l <帐户名> <IP地址>

//------------------------------------------------------------------------------------

git push <帐户名>@IP:/PATH master //可以将本地的Tree传送到远程的电脑当中

git checkout -f //提取当前branch的所有文件.

git pull <帐户名>@IP:/PATH master //从远程电脑当中取出更新版本,在使用这个之前远程电脑须进行切换分支操作.

//------------------------------------------------------------------------------------

git-reset --soft HEAD^ //逆转了提交的版本进度

git reset HEAD~<n> //真正的撤消,在git log当中查不到相关的信息了,但在reflog中有相关记录,这个时候如果用

git checkout file ,则可以回到某状态.

git-commit -a -c ORIG_HEAD //恢复撤消

git-log //显示各Commit的ID及提示信息

git-revert <commit ID> //撤消某次提交,这个撤消只是反向打入Tree当中

git-tag <tag name> <commit ID> //给某次COMMIT ID打标签

git-tag -d <tag name> //删除TAG

git-apply -R -v //应用那些git diff补丁

git reflog //列出HEAD当中的log

git checkout HEAD@{n} [文件名] //可以提取某历史提交文件,HEAD <n>就是git reflog当中查出来的,后面的文件名随阁下定

git diff <commit id> <commit id> //比较两个提交之间的不同
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: