GIT 牛刀小试 (第一发)
Git是一款非常优秀的版本控制系统,适用范围也越来越广泛,之前学习的时候看过廖雪峰的教程。今天又看了下git pro,这个也不错http://git-scm.com/book/zh/v2,这里简单总结下git的使用方法,
git将文件分为工作区文件,暂存区文件和版本库文件
工作区:我们平时操作的文件
暂存区:提交的文件
版本库:本地仓库文件
我们在工作区工作,将文件提交的暂存区,最后一块commit到本地仓库。
一、安装
linux下,可以直接命令行安装或者编译安装,这里只写命令行安装:
$ yum install git-core 或者 $ apt-get install git
Mac(git)系统和Win(git)都有图形安装界面,不再介绍;
二、配置
生成密钥:$ ssh-keygen -t rsa -C "example@example.com"这两个配置是一定要的: $ git config --global user.name "username" $ git config --global user.email "xxx@xx" 还有其他比较好玩的配置: $ git config --global merge.tool vimdiff $ git config --global core.editor emacs 等等吧 可以查看配置: $ git config --list $ git config user.name 获取帮助: $ git help $ git help config
三、仓库
第一种方法:初始化仓库 $ git init 添加文件 $ git add xx.file 提交文件 $ git commit -m "some comment"$ git commit -a -m "这样会直接跨过暂存区提交到本地仓库"第二种方法:克隆仓库$ git clone git://github.com/username/project.git (rename)如果有括号里的参数,新的版本库就会是那个名字,不然就是project名字; 在接下来的过程中可以通过不断地add和commit将文件添加到本地仓库,下面这条命令用来监控仓库状态$ git status (-v)
四、忽略文件
只要在版本库中添加一个.gitignore文件即可手动配置版本库中要忽略的文件,然后git就会像看不到这些文件一样,可以这样写内容:
# 此为注释 – 将被 Git 忽略# 忽略所有 .a 结尾的文件*.a# 但 lib.a 除外!lib.a# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO/TODO# 忽略 build/ 目录下的所有文件build/# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txtdoc/*.txt
五、比较差异
比较工作区和暂存区的差别 $ git diff 比较工作区和上次提交版本的差别 $ git diff --cached $ git diff --staged
六、删除文件
不能只是通过操作系统将文件删除,还要通过git命令删除,这样git才能知道文件被删除了: 从本地仓库移除跟踪,但是仍然在工作区工作(用来解决不小心将一些不必要的文件添加到本地仓库): $ git rm --cached readme.txt 移除log文件夹下的所有.log文件: $ git rm log/\*.log
七、移动文件
$ git mv from to 重命名: $ git mv readme.txt readme $ git rm readme.txt $ git add readme
八、查看提交的历史
参数可以后很多,不赘述: $ git log (--pretty=oneline)
九、撤销操作
撤销这次提交: $ git commit --amend 这样只会提交一次: $ git commit -m "initial commit" $ git add forgotten_file $ git commit --amend 撤销暂存区文件:$ git reset HEAD readme.txt 撤销修改:$ git checkout -- readme.txt
十、远程仓库的使用
查看远程仓库: $ git remote [-v] $ git remote show [name] 添加远程仓库: $ git remote add pbName git://github.com/userName/project.git 从远程仓库抓去信息: $ git fetch pbName向远程仓库推送: $ git push [-u] origin master (新建立的链接第一次推送要添加-u参数远程仓库的删除和重命名: $ git remote rename pbName anotherName $ git remote rm pbName 远程仓库主要都是使用Github网站,新建项目的时候要添加密钥,生成密钥:$ ssh-keygen -t ras -C "someone@gmail.com"
十一、标签
查看标签: $ git tag [-l]$ git show v1.4新建标签:$ git tag -a v1.4 -m "myVersion 1.4"推送标签:$ git push origin --tags$ git push origin v1.4 标签还有很多的参数,也不意义说清楚了!
十二、小技巧
1、Windows的msysGit配置好了自动补全的脚本,linux还需要最自己配置,具体配置可以看git pro。
2、可以通过给命令配置别名提高使用效率,也不多说!
转载于:https://www.cnblogs.com/kiscall/p/4699279.html
GIT 牛刀小试 (第一发)相关推荐
- 如何编写一个全新的 Git 协议
曾几何时,我在持续追踪自己的文件方面遇到一些问题.通常,我忘了自己是否将文件保存在自己的桌面电脑.笔记本电脑或者电话上,或者保存在了云上的什么地方.更有甚者,对非常重要的信息,像密码和Bitcoin的 ...
- 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...
- 【阶段小结】协同开发——这学期的Git使用小结
[阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...
- Github配置(git+vscode+python+jupyter)
①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...
- git shanchu stash_git stash用法
常用git stash命令: (1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不 ...
- 项目中使用 Git 高频场景
1. 拉取最新主干代码,进行功能迭代或 bug 修复 首先切换到主干: git checkout master 然后拉取最新代码: git pull 基于 master 创建本地分支 xxx: git ...
- Git 错误提交后该如何回滚操作
1. Git 架构 Workspace:工作区(当前用户操作修改的区域) Index / Stage:暂存区 (add 后的区域) Repository:仓库区或本地仓库(commit 后的区域) R ...
- Git 最全命令总结都在这里了
1. 基本命令 git diff 不加参数直接输入 git diff : 尚未暂存的文件更新了哪些部分 git diff --staged : 已暂存文件与最后一次提交的文件差异 git diff - ...
- 手把手教你搭建 Git 服务器
https://gitbook.cn/books/5e81adf58d6af944d1f26356/index.html 1. 服务器端安装 Git 切换至 root 账户: su root 看一下服 ...
最新文章
- 职业操盘手内部教材 z
- win32 debug api 原理
- 统计ES性能的python脚本
- webpack打包后的文件
- python里的append怎么用_python中append实例用法总结
- c语言 读取一个文件 删除注释,C/C++ 源文件删除注释代码
- CF1245D Shichikuji and Power Grid
- sdn框架的计算机网络管理,清华SDN实践--SDN 系统架构与数据中心应用
- jquery 获取键值对中最大值_jQuery的AJAX发送数据键值对
- [面试]排列组合与概率计算(一)
- 基于Cookie跨域的单点登录问题
- D3D处理2D图像: NV12格式及其转换(1)
- Conda 下 安装 Allennlp
- cef调用本地html,在CefSharp中使用本地构建的网页(Working with locally built web page in CefSharp)...
- 《人类简史》笔记——认知革命和农业革命背后的思考
- 处女作《Web全栈开发进阶之路》出版了!
- mysql数据库备份机制_mysql备份机制有哪些
- 常用三角公式、变形及图形
- 高中数学竞赛与自主招生内部练习试题<二>
- 【雷达信号处理】脉冲多普勒PD及其MATLAB实现