Git 学习(一)

来源:互联网 发布:用java输出梯形 编辑:程序博客网 时间:2024/06/05 22:47

一:Git的定义

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理或小或大的项目;

Git是分布式的,这是与SVN、CVS等最大的核心区别;

Git把内容按元数据方式存储,而SVN是按文件;

Git分支与SVN分支的不同,SVN中分支是版本库的另外一个目录;

Git是没有全局的版本号的。

Git分为工作区、暂存区、版本库

工作区:项目主目录。

暂存区:执行git add之后文件索引所在的区。

版本库:执行git commit之后的版本库。

二:Git的配置

Git提供了一个Git config的工具,专门用来配置或读取相应的工作环境变量。
1>:/etc/gitconfig文件:系统配置。 git config --system
2>:$HOME/gitconfig:用户配置。 git config --global
3>:项目中.git/config文件:项目配置。

用户信息

用于配置个人用户名称和电子邮箱地址:
$ git config --global user.name 'username'
$ git config --global user.email 'email@qq.com'

查看已有的配置信息

$ git config --list

三:Git常用命令

基本命令

git init                                          初始化一个仓库
git clone <repo> <directory>    从现有的Git仓库中拷贝项目( 例:git clone git://github.com/Cosmoshua/locate.git newProject)
git add                                         将文件添加到缓存区
git commit   -m                           将缓存区的内容添加到版本库中
git status -s                                 查看项目的状态
git diff                                          查看尚未缓存的改动
git diff --cached                          查看已缓存的改动
git diff HEAD                               查看所有改动
git commit -am                           添加缓存并提交版本库
git reset HEAD                            取消已添加到缓存区中的内容
git rm --cached <file>                 只在缓存区删除某文件,工作区不过改变
git checkout                                更新缓存区的文件到工作区中
git checkout HEAD                     更新版本库中的文件到工作去和缓存区中
git mv                                           移动或重命名文件或文件夹

分支管理

git branch                                   列出分支
git branch master_a                  新建一个名称为master_a的分支
git chechout master_a              切换到master_a分支
git chechout -b master_a          新创建一个master_a分支并切换到master_a分支
git chechout -d master_a          删除master_a分支
git merge master_a                   合并master_a到主分支上

查看历史

git log     查看详细提交历史
git log --oneline       查看简洁提交历史
git log --oneline --graph      查看历史(包括分支、合并等)
git log --reverse --oneline      逆向查看历史
git log --author=qingsi  --oneline      查看用户为qingsi的提交历史
git log --oneline --before={3.weeks.ago} --after={2017-11-26}      指定日期查看历史

提交到远程仓库

Git并没有中心服务器,目前Git命令只是本地执行,如果想分享你的代码或者与他人合作,必须将数据放在服务器上。

git remote     查看远程仓库
git remote add origin git@gitee.com:b_tt/test.git      添加远程仓库(这里使用的是码云)
git pull origin master        更新远程仓库的代码到本地
git push origin master_a       更新本地代码到远程仓库master_a分支
gir remote rm origin2      删除别名为origin2的远程仓库









git commit                                将缓存区的内容添加到版本库中