git基本操作及实用工具
//git
1.安装客户端git Git-2.9.3-rebase-i-64-bit.exe
2.安装完成后打开git bash
git config --global user.name "li123456" //填写用户名
git config --global user.email "li123456@qq.com" //填写邮箱
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
注意:git config –global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
3.创建版本库 D盘 –> www下 目录下新建一个testgit版本库
cd D:
mkdir www
cd www
mkdir testgit
cd testgit //最后进入/d/www/testgit中
4.通过命令 git init 把这个目录变成git可以管理的仓库
git init
这时候当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了
5.把文件添加到版本库中
在版本库testgit目录下新建一个记事本文件 readme.txt 内容如下:11111111
git add readme.txt //使用命令 git add readme.txt添加到暂存区里面去
git commit -m "readme.txt提交" //用命令 git commit告诉Git,把文件提交到仓库。
git status //通过命令git status来查看是否还有文件未提交
现在继续来改下readme.txt内容,比如我在下面添加一行2222222222内容,继续使用git status来查看下结果
git status //上面的命令告诉我们 readme.txt文件已被修改,但是未被提交的修改。
git diff readme.txt //看下readme.txt文件到底改了什么内容 readme.txt文件内容从一行11111111改成 二行 添加了一行22222222内容。
//知道了对readme.txt文件做了什么修改后,我们可以放心的提交到仓库了,提交修改和提交文件是一样的2步(第一步是git add 第二步是:git commit)。
git add readme.txt
git commit -m "文件增加2222222内容"
git status
6.版本回退
现在我继续对readme.txt文件进行修改,再增加一行内容为33333333333333.继续执行命令
git add readme.txt
git commit -m "文件增加3333333内容"
git log //使用命令 git log 查看下历史记录
git log --pretty=oneline // 如果嫌上面显示的信息太多的话,我们可以使用命令 git log –pretty=oneline 演示
git reset --hard HEAD^
git reset --hard HEAD~100
//第一种是:git reset -–hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset -–hard HEAD~100 即可
cat readme.txt //查看下 readme.txt内容
git reflog //获取到版本号
git reset --hard 65d2797 //增加内容3333的版本号是 6fcfc89.我们现在可以命令git reset -–hard 65d2797来恢复了。
7.工作区与暂存区的区别cd
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
在readme.txt再添加一行内容为4444444,接着在目录下新建一个文件为test.txt 内容为test
vim readme.txt //按i编辑4444 esc退出 :wq保存
touch test.txt
vim test.txt //按i编辑test esc退出 :wq保存
git add readme.txt
git add test.txt
git commit -m "一次性提交所有文件,包括新建文件test.txt"
8.Git撤销修改和删除文件操作
vim readme.txt //在readme.txt文件里面增加一行 内容为555555555555
git status //git status 查看下当前的状态
git checkout -- readme.txt //git checkout -- file 可以丢弃工作区的修改
cat readme.txt //查看文件内容
/*命令 git checkout -- readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,这里有2种情况,如下:
1.readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态
2.另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态
3.注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了。
*/
9.删除文件
testgit目录添加一个文件b.txt,然后提交
touch b.txt
git add b.txt
git commit -m "添加b.txt文件"
rm b.txt
git commit -m "删除b.txt文件"
//一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉
只要没有commit,可以使用如下命令 git checkout -- b.txt
git checkout -- b.txt
git commit -m "提交b.txt和test.txt和readme.txt文件"
10.远程仓库
//第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令
ssh-keygen -t rsa -C "li123456@qq.com"
//id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
/*第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容
点击 Add Key,你就应该可以看到已经添加的key。
如何添加远程库?
首先,登录github上,然后在右上角找到“create a new repo”创建一个新的仓库
在Repository name填入testgit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库
目前,在GitHub上的这个testgit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
现在,我们根据GitHub的提示,在本地的testgit仓库下运行命令:
*/
git remote add origin https://github.com/li123456/testgit.git
git push -u origin master
/*
把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来, 在以后的推送或者拉取时就可以简化命令。推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,上面的要输入github的用 户名和密码
*/
git push origin master //把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了
11.如何从远程库克隆
首先,登录github,创建一个新的仓库,名字叫testgit2. 勾选自动生成readme.md文件
git clone https://github.com/li123456/testgit2
12.创建与合并分支
git checkout -b dev //创建并切换分支 git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令 git branch dev git checkout dev
git branch //查看当前分支
vim readme.txt //在readme.txt再增加一行 7777777777777
git add readme.txt
git commit -m "dev分支上增加777777"
git checkout master //切换分支master
cat readme.txt //查看内容 7777 不见了,因为不是分支dev
git merge dev //在master分支上合并dev分支内容
cat readme.txt //查看内容,多了7777
git branch -d dev //删除分支dev
git branch //查看分支命令
13.多人协作
//当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin
git remote //要查看远程库的信息 使用 git remote
git remote -v //要查看远程库的详细信息 使用 git remote –v
//推送分支就是把该分支上所有本地提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
git push origin master
git基本操作及实用工具的更多相关文章
- Mac开发者必备实用工具推荐
最近一个师兄给我推荐了一些Mac上的实用工具,用起来非常顺手,能提高不少开发效率.于是就想着把自己之前用过的其他工具也整理一下,一块推荐给大家,希望能对大家有帮助. Alfred 目前Mac下最好用的 ...
- Oh My Zsh 插件篇 - 实用工具
Oh My Zsh 除了为我们提供快捷的命令行操作之外,还提供了强大丰富的插件机制,每个社区贡献者都可以贡献自己的插件,让整个生态体系更加丰富完善.今天给大家介绍了一下它的实用工具类插件. 前面我们分 ...
- 值得网页设计师&前端收藏的实用工具列表
原文地址:http://www.uisdc.com/tool-list-web-developers# 无论你是经验丰富的前端,还是刚刚起步的设计师,这些为真正的网页设计师和开发者所准备的实用工具.在 ...
- Bootstrap<基础十> 响应式实用工具
Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发.这些可以通过媒体查询结合大型.小型和中型设备,实现内容对设备的显示和隐藏. 需要谨慎使用这些工具,避免在同一个站点创建完全不同 ...
- 10款让WEB前端开发人员更轻松的实用工具
这篇文章介绍10款让Web前端开发人员生活更轻松的实用工具.每个Web开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具,所以如 ...
- 十款让 Web 前端开发人员更轻松的实用工具
这篇文章介绍十款让 Web 前端开发人员生活更轻松的实用工具.每个 Web 开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具, ...
- .Net 高效开发之不可错过的实用工具(转)
.Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...
- [转]Git调用第三方对比工具beyondCompare
点击阅读原文 对于我这种 git 命令行小白来说, git 自带的对比工具各种水土不服,想念以前的 svn 小乌龟 + beyondCompare 的日子...纠结完 gitHub client 未果 ...
- 实用工具推荐(Live Writer)(2015年05月26日)
1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...
随机推荐
- Windows Form, Ok, Cancel button
1. 为button设置DialogResult property为非None值, 可以关闭父窗口,并使父窗口的DialogResult property返回相应的值. http://msdn.mic ...
- Vue开发工具VS Code与调试
vscode安装 进入vscode官网(https://code.visualstudio.com/Download)vscode插件安装进入vscode官网插件商店(https://marketpl ...
- 012-Spring Boot web【一】web项目搭建、请求参数、RestController、使用jsp、freemarker,web容器tomcat和jetty
一.项目搭建 同:http://www.cnblogs.com/bjlhx/p/8324971.html 1)新建maven项目→使用默认配置即可 定义好项目名称等 2)修改jdk版本 <pro ...
- Kibana——安装部署
1.准备 JDK:1.8版本及以上: Kibana:6.2.4版本: 2.安装 2.1.下载解压 wget https://artifacts.elastic.co/downloads/kibana/ ...
- VS自定义代码块Code Snippet
一 .简述 我们在开发当中,避免不了一些重复的开发工作,在你漫长的开发以及学习当中,你会发现有这么一部分代码是你时常会使用到的.我想这个工具也是针对这个原因出来的吧,它就是预先把你需要的这部分代码的 ...
- Flutter Window环境运行(VSCode + 单独运行Android 虚拟机)
官网以及很多网上文章的开发都是基于Android ,因为它能创建不同类型移动设备虚拟机.但个人始终觉得它太庞大,启动慢耗资源,但我们使用Flutter又离不开虚拟机. 经过实践,现在能成功的单独启动移 ...
- Chrome安装json格式化工具jsonView
1.下载jsonView 有条件的童鞋可以去谷歌商店下载安装https://chrome.google.com/webstore/detail/pmajcnnfhjcebiafkonednglookd ...
- CMake版本升级
CMake 是一个可扩展的开源系统,以独立于编译器的方式在操作系统中管理生成过程.与许多跨平台系统不同,CMake 旨在与本机生成环境结合使用.放置在每个源目录中的简单配置文件(称为 CMakeLis ...
- Vulnhub-XXE靶机学习
------------恢复内容开始------------ 前两天在微信公众号上看见了这个XXE靶场,就想试一试,虽然网上关于这个的文章已经写了太多太多了,但还是要写出来划划水,233333333, ...
- python3 正则表达式 re模块之辣眼睛 计算器
额...学到几个常用模块了,也要其中考试了,每天晚上敲一点,敲得脑壳疼,不过又想到好一点的办法了,有时间再改吧. 此非吾所欲也,实属无奈也....复习之路漫漫,吾将到书上求索,在此不多逗留,我挥一挥衣 ...