GIT的使用

--git的Linux源码安装
--下载
wget http://git-core.googlecode.com/files/git-1.7.7.1.tar.gz
--解压
tar zxvf git-1.7.7.1.tar.gz
cd git-1.7.7.1
--编译
make prefix=/usr all doc info
--安装
make prefix=/usr install install-doc install-info
--opbsd上安装
apt-get git-core

--Windows下下载的网址
http://code.google.com/p/msysgit/downloads/list
--双击安装,默认配置
--桌面点击“Git Bash”应用程序
pwd
--切换到d盘
cd /d
--查看git版本
git --version
--显示目录下内容
ls -ltr
--创建temp目录
mkdir temp
cd temp
pwd
--创建gitdemo目录
mkdir gitdemo
cd gitdemo
ls -l
--创建aaa目录
mkdir aaa
cd aaa
ls -l
--创建main.c文件
vi main.c
int main()
{
return 0;
}
:x
ls -l
--git初始化
git init
ls -l
--查看生成的隐藏文件
ls -la
--查看.git内的文件
ls -l .git
--配置全局的用户名和邮箱信息
git config --global user.name 'Wenjie Zhang'
git config --global user.email 'hit-2075@126.com'
--回到软件的系统工作目录
cd ~
pwd
--查看隐藏文件
ls -la
--查看.gitconfig的内容
cat .gitconfig
pwd
--显示用户信息
id
--回到刚才的目录
cd -
--显示目录
pwd
--清屏
clear
--查看 .git下的内容
ls -l .git
--查看.git/config的内容
cat .git/config
--配置本地用户信息和邮箱信息
git config user.name 'zhangwenjie'
git config user.email 'zhangwenjie@gxlu.com.cn'
--查看配置后的内容
cat .git/config
pwd
ls -l
--增加main.c到git中
git add main.c
--提交,并注释
git commit -m "Init Project"

---------------------------------------------------------------------
pwd
--创建新的目录
mkdir bbb
cd bbb
--创建文件
vi main.c
int main()
{
return 0;
}
ls -l
--初始化git
git init
ls -la
--查看.git的目录内容
ls -l .git
--添加main.c到git中
git add main.c
--查看.git的目录变化
ls -l .git
--提交,并注释
git commit -m "this is 1 commit"
--删除刚刚提交的main.c文件
rm -f main.c
--确认没有了
ls -ltr
ls -l
ls -la
--使用git恢复main.c文件
git checkout -f HEAD
--查看是否恢复成功
ls -l
--创建新的文件夹ccc
mkdir ccc
cd ccc
--拷贝bbb下的main.c文件到当前目录
cp ../bbb/main.c .
--查看确认
ls -ltr
--初始化git
git init
--查看生成的隐藏文件
ls -la
--查看main.c的内容
cat main.c
--查看main.c的hash值
git hash-object main.c
--添加当前文件夹的内容到git中
git add .
--显示.git下的内容
ls -l .git
--显示.git/objects下的内容
ls -l .git/objects/
--显示.git/objects/fc下的内容,实际上是main.c的hash的头两个字母
ls -l .git/objects/fc
--提交,并注释
git commit -m "1 commit"
clear
ls -l .git/objects/
--找到.git/objects/下所有类型为文件的对象
find .git/objects/ -type f
--显示fc047f开头的文件的内容
git show fc047f
--查看0593开头的文件的类型
git cat-file -t 0593
--查看2364开头的文件的类型
git cat-file -t 2364
--查看fc04开头的文件的类型
git cat-file -t fc04
--查看tree型文件的内容
git ls-tree 0593
clear
find .git/objects/ -type f
--查看commit类型文件的内容
git show -s --pretty=raw 2364

------------------------------------------------------------------------------
--演示多文件,多目录下的blob和tree和commit的数量
--新建ddd文件夹
mkdir ddd
cd ddd
--新建 lib文件夹
mkdir lib
cd lib
--新建inc文件夹
mkdir inc
cd inc
ls
--inc下创建 trick.rb文件 
vi trick.rb
sssssss
:x
cd ..
--lib下创建mylib.rb文件
vi mylib.rb
this is mylib.rb
:x
cd ..
--ddd下创建见READE文件
vi README
this is ReadMe
:x
--初始化,添加,提交
git init
git add .
git commit -m "this is first commit"
--查看生成的文件数,应该是3个blob文件3个tree文件1个commit文件
find .git/objects/ -type f
git cat-file -t ****
cd ..
-------------------------------------
--研究HEAD对象
--创建eee文件夹
mkdir eee
cd eee
--拷贝ddd的文件过来
cp ../ddd/README .
clear
--确认拷贝
ls -ltr
--初始化
git init
--添加
git add .
--提交
git commit -m "this is first commit"
--显示文件下的对像
ls -l .git/objects/
--显示对象为文件的对象
find .git/objects/ -type f
ls -l .git
--查看HEAD的内容
cat .git/HEAD
ls -l .git/refs/
ls -l .git/refs/heads/
--HEAD的内容是一个引用,查看指向的内容
cat .git/refs/heads/master
--指向的内容是那个对象的hash码
find .git/objects/ -type f
--查看该对象的类型,应该为commit
git cat-file -t ****
----------------------------
--研究tag,有引用和对象两种形式
--进到ddd文件夹
cd ddd
ls -l
--查看当前生成的对象数,7
find .git/objects/ -type f | wc -l
--修改最底层的文件
vi /ddd/lib/ind.trick.rb
*****
:x
pwd
--添加提交
git commit -a -m "second commit"
----查看当前生成的对象数,12
find .git/objects/ -type f | wc -l
ls -l .git
ls -l .git/refs/tags
--轻量级的tags
git tag v1.0
ls -l .git/refs/tags
cat .git/refs/tags/v1.0
--查看标签指向对象类型
git cat-file -t ****
--commit
--查看当前生成的对象数,还是12,没有生成标签对象
find .git/objects/ -type f | wc -l
--打标签,这个会生成标签对象
git tag -a milestone1.0 -m "this is the first stable version"
--查看当前生成的对象数,13
find .git/objects/ -type f | wc -l
ls -l .git/refs/tags/
--查看标签内容
cat .git/refs/tags/milestone1.0
--查看标签指向对象,为tag
find .git/objects/ -type f
git cat-file -t ****
--tag
--再次修改文件
vi init.rb
....
--第三次打标签
git commit -a -m "third commit"
----查看当前生成的对象数
find .git/objects/ -type f | wc -l
--查看头文件内容
cat .git/HEAD
cat .git/refs/heads/master
cat .git/refs/tags/v1.0
--头文件还是指向的最新的commit对象
git cat-file -t df87
--commit
git cat-file -t 9e7b
--commit
cat init.rb
--发布tag为v1.0时的版本,格式为tar,目录在ruby下,用gzip加压,生成在/tmp//tmp/ruby1.0.tar.gz下
git archive --format=tar --prefix=ruby/ v1.0 | gzip > /tmp/ruby1.0.tar.gz
cd /tmp
ls -l
--检验生成的结果
tar zxvf ruby1.0.tar.gz

-----------------------------
pwd
ls -l
ls -la
--初始化,加载,提交
git init
git add .
git commit -m "1st commit"
--查看文件个数
find .git/objects/ -type f | wc -l
--查看分支情况
git branch
clear
--查看头文件
ls -l .git/HEAD
cat .git/HEAD
cat .git/refs/heads/master
--指向的文件类型
git cat-file -t ****
--修改文件
vi test.rb
--第二次提交
git commit -a -m "2nd commit"
--修改文件
vi README
--第三次提交
git commit -a -m "3rd commit"
--产生testing分支
git branch testing
--查看头引用指向
cat .git/HEAD
ls -l .git/refs/heads
--查看两个分支的指向,是一样的
cat .git/refs/heads/master
cat .git/refs/heads/testing
git breach
--切换分支
git checkout testing
git breach
--查看头文件指向
cat .git/HEAD
clear
git breach
ls
--修改test.rb文件
vi test.rb
--第四次提交
git commit -a -m "testing 4th commit"
--查看当前的HEAD引用
cat .git/HEAD
--查看当前的testing和master分支,应该已经不同了
cat .git/refs/heads/testing
cat .git/refs/heads/master
cat test.rb
--切换到master分支
git branch
git checkout master
--显示test.rb文件
cat test.rb
--切回到testing分支
git branch
git checkout testing
git branch
cat test.rb
clear
--切回到master分支
git branch
git checkout master
ls
-修改LICENSE2文件
vi LICENSE2
--master第四次提交
git commit -a -m "master 4th commit"
clear
--合并前master情况
git branch
ls -l
cat LICENSE2
cat test.rb
cat README
--合并前testing情况
git checkout testing
cat LICENSE2
cat test.rb
cat README
clear
--合并
git branch
git checkout master
git merge testing
clear
ls
ls -l
--合并后的情况
cat LICENSE2
cat test.rb
cat README
--删除testing分支
git branch
git branch -D testing
git branch
clear
cd ..
ls
--创建新的工作区
mkdir fw
cd fw
ls
vi main.c
ls
git init
git add .
git commit -m "1st commit"
ls
ls -l
--创建tempbr分支
git branch
git branch tempbr
git checkout tempbr
--分支的文件已经改变,提交
vi main.c
git commit -a -m "tempbr 2nd commit"
--master分支没有变化
git branch
git checkout master
cat main.c
--此时合并更容易
git merge tempbr

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15681893/viewspace-710836/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15681893/viewspace-710836/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值