git的使用
来源:互联网 发布:java编程培训费用 编辑:程序博客网 时间:2024/05/22 10:41
git是什么?
git时目前世界上最先进的分布式版本控制系统。
SVN是集中式的版本控制系统,版本库都是集中放在中央服务器,而git是分布式的,它没有中央服务器,每一个电脑就是一个完整的版本库,这样工作的时候就不需要联网了,版本都在自己的电脑上,使用推送的方式把各自修改的内容推送给对方,这样就可以相互看到对象的修改了。
因为git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
注意:git config --global参数,有了这个参数,表示这台机器上的所有git仓库都会使用这个配置。
git的操作
1、创建版本库
版本库又称为仓库,英文名为repository,可以理解为一个目录。但目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪。
- 在终端下,我么利用mkdir来创建一个目录称为lwbGit。命令:【mkdir lwbGit】;
- 创建好目录以后,进入lwbGit目录,然后利用命令:【git init]】将这个目录变为git可以管理的仓库。
版本库(Repository):工作区的一个隐藏目录.git,这个不属于工作区,这是版本库,其中包含了暂存区。
2、git操作用户名与邮箱
- 用户名和邮箱地址是本地Git客户端的一个变量,不随git库而改变。每次commit都会用用户名和邮箱来记录
- 查看用户名和邮箱地址:
$git config user.email //用户邮箱
- 修改用户名和邮箱地址:
$git config --global user.name "username"$git config --global user.email "email"3、git的操作
在版本库lwbGit下新建一个文本文件readme.txt文件,初始内容为“111111”
利用命令将文本添加到暂存区里:
$git add readme.txt利用命令告诉Git提交到仓库:
$git commit -m "提交说明"现在,已经将readme.txt文件提交上去了,多个文件可以同时提交。利用下面的命令来查看是否还有文件未提交:
$git status如果我们继续向文件中添加内容,如果想看文件到底改变了什么,可以利用下面的命令来查看:
$git diff readme.txt注意,提交到仓库的命令总是为:git add --->git commit -m,其中-m是不能省略的,其标识了文件修改了什么。
如果想查看对文件的历史记录,那么李颖下面的命令:
$ git log如果日志太多的话,可以利用下面的命令来筛选:
$git log --preety=oneline如果想使用版本回退操作,那么利用如下命令:
$git reset --hard HEAD^其中,如果回退到上一个版本,为HEAD^,如果回退到上上个版本,那么为HEAD^^,如果回退到100个之前的版本,那么为HEAD~100即可。
我们可以使用版本号回退(过去或者现在),那么使用如下命令:
$git reset --hard [版本号]可以利用如下的命令来获取版本号:
$git reflog利用查到的版本号,可以恢复到任何版本。
如果我们在工作区发现修改的内容有误,也就是说还没有使用add命令区提交,此时,我们利用如下命令来恢复到以前的版本:
$git checkout -- [文件名]假如,我们现在版本库中多了一个没有用的b.txt文件,那么,可以直接在文件目录中把文件删掉,或者使用如下命令:
$rm b.txt如果我们想彻底删除这个文件,那么可以执行commit命令提交。只要没有commit之前,我们可以利用如下命令来恢复:
$git checkout -- [文件名]
4、远程仓库
一般远程仓库需要先有gitHub账户,因为你的本地Git仓库和gitHub仓库之间的传输是通过SSH加密的,所以需要进行再gitHub上进行公钥的设置。打开电脑上的终端,来生成ssh-key,命令如下:
ssh-keygen -t rsa –C “youremail@example.com”邮箱是你在gitHub上注册时所用的邮箱。具体请看文献[2]中的介绍。设置完成以后,我们就可以在本地不需要密码登录到远程的gitHub上。
5、创建远程仓库
在gitHub上创建新的仓库,注意不要勾选创建ReadMe.md文件,来构造出一个新的仓库。根据github上的提示,在本地运行以下命令:
git remote add origin https://github.com/tugenhua0707/testgit.git
如果我们有多个仓库,仍然想用origin这个名字,那么可以利用如下命令:
$git remote rm origin
然后重新绑定即可,具体请查看文献[3].
由于此时远程仓库是空的,在第一次推送时,我们加一个参数-u,命令如下:
git push -u origin master
加了-u参数,git会将master分支内容推送到远程新的master分支,还会将本地的master和远程的master分支关联起来,以后就可以简化命令了,只需要git push即可。
至此,只要本地做了commit提交,只要通过如下命令:
$git push origin master
把本地的master分支重新推送到github上了,现在就拥有了真正的分布式版本库了。
当我们要从远程仓库有了新内容,我们利用以下命令将其克隆到本地。命令如下:
$git clone https://github.com/UCliwenbin/third.git
注意仓库是自己建立的,所以url要写自己的。
6、创建与合并分支
首先,我们来创建dev分支,然后切换到dev分支上,命令如下:
git checkout -b dev
查看当前分支的命令
$git branch
当前分支的前面会有一个*号。
切换分支命令:
$git checkout dev当我们在dev分支上完成代码以后,切换到master分支来进行合并,合并的命令如下:
$git merge dev
总结创建与合并分支命令如下:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
删除远端gitHub上的分支利用命令:git push origin :dev //其中,origin为远端主机名,dev为分支
下图是github的fork以及Pull request的工作流程图参考网址:
- 手把手教使用Git http://blog.jobbole.com/78960/
- mac系统如何生成SSH key与GitHub通信 http://blog.csdn.net/lwb102063/article/details/70157649
- github常见操作和常见错误!错误提示:fatal: remote origin already exists. http://blog.csdn.net/dengjianqiang2011/article/details/9260435
- git的使用 git命令
- 【Git使用详解】Git的使用心得
- Git管理工具的使用
- git的使用
- git hub 的使用
- git工具的使用
- git的使用
- git的使用
- git的使用。
- git 的使用
- git的简单使用
- git的简单使用
- GIT的基本使用
- git 的使用
- git的使用
- git repo的使用
- git的使用
- git的使用
- 深入理解JavaScript函数参数(推荐)
- 01背包问题小结
- java学习第二十九天之Web基础B/S 、C/S
- 方法的重载
- Android 动态替换桌面图标
- git的使用
- Java web 总图 第一阶段 CSS 总结
- Linux下的tar压缩解压缩命令详解
- Delphi使用ADO组件访问ACCESS数据入门例程
- Win10配置theano GPU GTX1080 cuda8 终极避坑指南
- 非对称加密技术 -- RSA算法
- 第一章笔记struts2配置
- JS实现填报时对修改过的单元格进行标识
- Linux系统调用API容错机制