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 将缓存区的内容添加到版本库中
阅读全文
0 0
- git学习(一)
- git学习(一)
- git学习(一)
- Git学习(一)
- git 学习 (一)
- Git 学习(一)
- Git学习(一)
- Git学习(一)
- git学习(一)
- git学习(一)
- Git学习(一)
- git学习(一)
- git学习(一)
- git 学习(一)
- Git学习(一)
- Git 学习(一)
- Git学习(一)
- Git学习教程(一):git简介
- wex5页面交互三种方式(对话框)
- Multiplication Puzzle (poj 1651)
- node使用zlib模块通过管道压缩数据
- LDA主题模型
- Intellij IDEA 15中文输入框不跟随怎么办?
- Git 学习(一)
- BFS的基本例题
- 队列的操作及实现
- Win7启动Virtualbox时提示failed to open a session for the virtural machine
- Pyhon3 在ubuntu上的使用
- MATLAB拟合函数使用说明
- Ajax+SpringMVC requestBody
- javascript基础练习-批量修改样式
- 基于QML的播放器实现