Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25265
  • 博文数量: 12
  • 博客积分: 215
  • 博客等级: 二等列兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-12 10:23
文章分类

全部博文(12)

文章存档

2015年(1)

2010年(11)

我的朋友
最近访客

分类: 项目管理

2010-04-16 08:57:30

wget
GIT首页   
WINDOWS版本GIT首页 
//-----------------ubuntu 安装GIT----------------------------------------------
1: 在ubuntu 下安装
 先从那里下一个后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   //你的邮箱
 
    如果在其它机子已经开始了这个工程,则就没必要初始化了,直接从那机子上克隆一个过来.克隆的时候它会连文件夹也带过来.
 
 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 <帐户名>@: master   //一般是把他的master拿过来同步
 
  如果A不主动要求同步,则B可以把他的分支主动送给A,前提也是B先合并自己的分支到主分支
 
 git push <帐户名>@: 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
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 <帐户名>
//------------------------------------------------------------------------------------
git push <帐户名>@IP:/PATH master  //可以将本地的Tree传送到远程的电脑当中
git checkout -f     //提取当前branch的所有文件.
git pull <帐户名>@IP:/PATH master  //从远程电脑当中取出更新版本,在使用这个之前远程电脑须进行切换分支操作.
//------------------------------------------------------------------------------------
git-reset --soft HEAD^    //逆转了提交的版本进度 
git reset HEAD~    //真正的撤消,在git log当中查不到相关的信息了,但在reflog中有相关记录,这个时候如果用
        git checkout file ,则可以回到某状态.  
git-commit -a -c ORIG_HEAD   //恢复撤消
git-log      //显示各Commit的ID及提示信息
git-revert         //撤消某次提交,这个撤消只是反向打入Tree当中
git-tag    //给某次COMMIT ID打标签
git-tag -d     //删除TAG
git-apply -R -v     //应用那些git diff补丁
git reflog     //列出HEAD当中的log
git checkout } [文件名]  //可以提取某历史提交文件,HEAD 就是git reflog当中查出来的,后面的文件名随阁下定
git diff   //比较两个提交之间的不同
 

 
阅读(1183) | 评论(0) | 转发(0) |
0

上一篇:发现C++里的一个问题

下一篇:git总结

给主人留下些什么吧!~~