转载于: http://blog.csdn.net/yangzhongxuan/article/details/6906221
git
一.安装GIT
 1.源码安装:
 
 从Git官网的下载页面下载最新稳定版源代码,然后编译、安装
 
 $ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2
 $ tar -xjvf git-1.7.3.5.tar.bz2
 $ cd git-1.7.3.5
 $ make prefix=/usr all ;# 设置Git安装目录
 $ sudo make prefix=/usr install ;# 以root权限运行
 
 2.安装包安装:
 
 fedora 等系统
 
 $ yum install git-core 
 
 ubuntu等系统
 
 $ apt-get install git-core
 
二.设置用户名和密码
 $ git config --global user.name flynewton #将用户名设为flynewton
 $ git config --global user.email alicool@foxmail.com #将用户邮箱设为alicool@foxmail.com
 
 Git的配置信息分为全局和项目两种,上面命令中带了“--global"参数就是进行全局配置,会影响本机上的每个一个Git项目。
 
 Git也可以为每个项目设定不同的配置信息,进入Git项目所在目录,执行下面的命令:
 
 $ git config user.name xxx #将用户名设为xxx
 $ git config user.email xxx@gmail.com #将用户邮箱设为xxx@gmail.com
 
三.开始使用GIT
1.快速入门
 #自己建立项目 
 $ cd hello-git/ #进入项目目录
 $ git init #初始化该项目,建立一个.git隐藏目录用于保存项目目前的进展情况
 $ git add . #建立快照,快照存储在临时存储空间
 $ git commit #将快照中的内容写入GIT仓库,输入回车后会进入vi窗口,记录版本和开发情况等,也可以直接git commit -m "log msg"
 $ git commit -a #相当于"git add ."+"git commit",但是无法加入新增的文件或文件夹
 $ git rm 
 $ git mv 
 #如果别人已经建立好项目
 $ git clone ssh://git%40192.168.18.49/git/5602 #下载远程项目到本地
 $ git remote add yuwenbin ssh://git%40192.168.18.49/git/5602 #
 $ git remote update #更新工程到cach与远程项目同步
 $ git merge yuwenbin/master #将更新的工程与本地项目合并
 $ git diff yuwenbin/master #与远程工程的主分支比较
 $ git push origin master:yzx-compile-ok #提交代码
 
2.修改源代码后的操作
 $ git diff #查看源代码和快照的区别
 $ git diff --cached #查看快照和仓库的区别
 $ git status #查看整体改动的信息
 $ git add hello.py #告诉git我修改了hello.py文件,请检查下(GIT中无论修改还是增加新文件均使用add进行登记)
 $ git commit #提交到git
 $ git log #查看日志
 
版本回退
 $ git reset --soft HEAD #只回退commit的信息,但index file(就是临时存储区域)和修改的代码仍然在 HEAD 就是git log 后 commit 后面的那一字符串
 $ git reset --hard HEAD #不仅回退commit的信息,代码也恢复到修改前的版本
 $ git reset --mixed HEAD #回退commit和index file的信息,保留代码的修改
 $ git reset HEAD #默认情况等同于mixed
 $ git reset -- a.py #从index file中删除一个已经登记的文件
 
3.分支管理
 $ git branch branch-a #创建branch-a分支
 $ git branch #查看所有分支,其中带*的返回结果为当前分支
 $ git checkout branch-a #切换到branch-a分支
 ====================================================
 修改分支代码,新建hello.py
 $ git commit hello.py #提交到分支
 ====================================================
 $ git checkout master #切换到主干
 ====================================================
 修改主干代码,新建hello.py
 $ git commit hello.py #提交到主干
 ====================================================
 $ git checkout branch-a #切换到branch-a分支
 $ git merge branch-a #将分支合并到主干(如果有冲突会提示冲突的地方,修改后再合并)
 $ git branch -d branch-a #分支内容合并到主干后删除branch-a分支
 $ git branch -D branch-a #不论分支内容是否合并到主干,均删除branch-a分支git whatchanged
 $ git whatchanged #查看分支的变化历史
 
 up-to-date.
 
 $ sudo apt-get install gitk #安装gitk,gitk可以在图形界面查看所有分支及改动信息
 $ gitk #启动gitk查看分支及改动信息
 
 $ git clone /home/flynewton/hello-git hello-git2 #克隆hello-git到hello-git2中
 $ cd hello-git2
 ==========================================================
 $ 修改hello-git2中的源代码并提交
 ==========================================================
 $ 创建分支branch-b,并修改分支中的源码并提交
 ==========================================================
 $ 进入hello-git文件夹中
 ==========================================================
 $ git fetch /home/flynewton/hello-git2 master:hello2-works #将hello-git2主干代码作为本地的新分支hello2-works
 $ git -p master..hello2-works #查看本地主干和hello2-works分支的差异
 ==========================================================
 $ git pull /home/flynewton/hello-git2 master #合并hello-git2的主干到本地分支
 $ git pull /home/flynewton/hello-git2 branch-b #合并hello-git2的分支 branch-b到本地分支
 
4.历史记录查询
 $ git log #查询历史记录,返回commit 59e67766668f315a3b84beaca709777cdb6c8f09这样的标记码
 $ git show 59e67766668f315a3b84beaca709777cdb6c8f09 #查看该commit的记录
 $ git tag -a V1 59e677 #标记为V1
 $ git show V1 #查看V1记录
 $ git branch branch-c V1 #建立基于V1的分支
 $ git log V1..V3 #显示V1至V3的历史记录
 $ git log branch-a..branch-b #显示在branch-b但不在branch-a中的历史记录
                  
                  
                  
                  
                            
本文详细介绍了如何在不同系统上安装Git,并提供了快速入门指南,包括设置用户名、初始化项目、添加、提交代码以及基本的分支管理和历史记录查询。通过实践操作,读者可以快速掌握Git的基本用法。
          
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					1829
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            