git使用简单教程-(转自linux人)

什么是Git

Git是目前世界上最先进的分布式版本控制系统。最初由Linus Torvalds编写,用作Linux内核代码的管理。如果你是windows用户,看到这里你可能会担心“是不是只能用在linux上?或者Git对于windows不是那么友好。” ,那么我告诉你你的担心是多余的,GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端;微软也通过CodePlex向开发者提供 git 版本控制系统。

为什么学习Git

除了你可以使用Git来管理自己的项目之外,还因为越来越多的人使用Github来托管自己的开源项目,
你可以找到适合你的开源项目进行学习,加入到一个团队来提高自己。同时GitHub也可以帮助你找到满意的工作!!
没错,可能有公司看到你托管到GitHub的项目而向你发出offer,在简历中 你的GitHub 可能成为加分项。

安装设置Git

1.msysgit是 Windows版的Git  githttp://git-scm.com/download/win下载   安装完成后,点击开始菜单—》Git文件夹—》Git Bash  打开后 会出现下面的命令行窗体,证明你安装成功了。

2. 设置你的名字与Email,你的名字与Email会出现在你的提交记录中。

git config --global user.name "你的名字"

git config --global user.email "你的Email"

注意:git config使用--system参数时, Git 会读写/etc/gitconfig文件,该文件含有 对系统上所有用户及他们所拥有的仓库都生效的配置值

git config使用--global参数时, Git 会读写~/.gitconfig文件,该文件含有只适用于该用户的配置值

git config使用--local参数时, Git 会读写 由用户定义的各个库中Git 目录下的配置文件(.git/config),该文件含有只适用于该Git库的配置值

以上阐述的三层配置从一般到特殊层层推进,如果定义的值有冲突,以后面层中定义的为准,例如:在.git/config和/etc/gitconfig有冲突会采用.git/config值

你可以使用下面的命令来产看config的配置值

git config --list

3.在工作目录中初始化新仓库

仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪。

首先我们从命令行进入到仓库的文件夹:

使用

git init

命令来将文件夹变成Git可以管理的仓库。

这时仓库目录下多了一个.git的目录(如果没有,可能你的windows设置不显示隐藏的文件、文件夹,在文件夹选项中修改一下设置就好了。),这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

我们也可以从现有仓库克隆

git clone http://git.oschina.net/xxxxxx/xxxxxx.git

这里使用的是 clone 而不是 checkout,Git
收取的是项目历史的所有数据(每一个文件的每一个版本),服务器上有的数据克隆之后本地也都有了。实际上,即便服务器的磁盘发生故障,用任何一个克隆出来的客户端都可以重建服务器上的仓库,回到当初克隆时的状态。

我们来clone 院子里寻找和谐大大的PaPaPa项目:

我先fork了一下这个项目,获取他的地址:

开始clone:

clone 完成,查看一下仓库的文件夹:

注:以上图片上传到红联Linux系统教程频道中。

Git各种操作

Git添加文件

在学习怎么添加文件之前我们先了解一下Git的工作流:

你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果

首先使用git add命令将计划的改动提交到缓存区,

然后使用git commit -m 代码提交信息"命令,将代码提交到HEAD,此时还没有提交到服务器,

执行git push origin master命令以将这些改动提交到服务器,可以把 master 换成你想要推送的任何分支。

下面我们来尝试添加文件

1.在仓库文件夹内我新建了个readme.txt

2.使用命令 git add readme.txt添加到缓存区里面去。

3.用命令 git commit -m 把文件提交到HEAD。

4.使用 git status 检查当前文件状态

Git提交修改

1.首先我们先修改一下 readme.txt

2. 我们使用 git status 查看结果:

上面的信息告诉我们,readme.txt被修改过了,但还没有准备提交的修改。

3. 我们可以使用 git diff +文件名 ,查看具体修改的内容。

4.使用git commit 提交修改的文件。

Git版本回退

1.使用git log  查询提交的历史记录

2.如果感觉显示的信息太多, 我们可以使用git log --pretty=oneline  命令

第一列一大串的字符为commit id ,是一个SHA1计算出来的一个非常大的数字,用十六进制表示,第二列为我们提交时填写的注释。

3.这时我们回退到上个版本可以使用git reset  --hard HEAD^ 命令,回退上上个版本 git reset  --hard 
HEAD^^ ,依次类推, 当我们回退100个版本时,可以写成git reset  --hard HEAD~100

可以看到 HEAD目前指向的是 commit id为9d3830c的版本。

4.我们已经回退了一个版本,我们可以撤销这次的回退 当然可以,我们使用 git reset --hard +commit id 形式版本号(没必要写全,前几位就可以了,Git会自动去找)。

可以看到 HEAD又重新指向了 commit id为4332ee4的版本。

Git删除文件与恢复文件

1.我们可以使用 git rm+文件名 命令来删除文件

2.我们使用 git status 命令 产看目前仓库状态

可以看到deleted:显示了 我们刚刚删除的文件,我们再看看仓库的文件夹,发现readme.txt 也没有了。

3.这时我们用git checkout命令来恢复刚刚删除的文件。

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

添加远程仓库

添加SSH Keys

SSH keys 是为了防止任何人随意clone 或 push 代码而产生的.

SSH keys 有公匙和密匙,你在本地生成了密匙和公匙之后,把你的公匙告诉给服务器或者其他协作者,那么你就可以在他们的git版本库clone和push代码等操作.相对于一台服务器来说,一台协作者机器对应一个SSH keys.

1.首先使用 $ ssh-keygen -t rsa -C "你的邮箱"

1.这里是输入你的SSH keys 保存的位置,就是前面括号内的路径。

2.输入口令,可以直接回车。

3.再次输入口令,可以直接回车。

打开刚刚ssh keys 保存的文件夹:

id_rsa 存放的就是私钥 , id_rsa.pub存放的是公钥,我们可以cat 路径/id_rsa.pub查看公钥。 也可以用文件管理器打开文件。

2.在github或者[email protected] 添加你的公钥

远程仓库

1.在[email protected]新建仓库

2.创建完成后添加后使用命令:$ git remote add origin [email protected]:你的用户名/gitstudy.git

远程库的名字是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

下一步,就可以把本地库的所有内容推送到远程库上:

3.使用$ git push -u origin master把本地库的所有内容推送到远程库上

小结

关于Git,本篇文章也没讲到分支,感兴趣的同学先去看看廖雪峰老师的教程吧,这篇文章以后也会更新这部分内容,春节假期就这么匆匆过去了,感觉也没学到什么,希望继续努力。能坚持住写博客的习惯。

参考资料

1.廖雪峰老师的Git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2.Git使用简易教程:http://www.bootcss.com/p/git-guide/

时间: 2024-10-04 10:17:49

git使用简单教程-(转自linux人)的相关文章

Git简单教程

该笔记总结廖雪峰Git教程, 参考网站: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一. 简介 Git采用分布式版本控制系统, 在此解释分布式与集中式的区别. 集中式版本控制系统: 版本库集中存放在中央服务器中, 工作时需要先请求最新版本, 工作结束后需向中央服务器提交最终版本. 分布式版本控制系统: 所有机器都有一份完整的版本库, 所以其中一个机器损坏不会导致整个项目丢

Git超简单入门简明教程--写给一直不敢用Git的同学

从2014年2月12号开始工作到现在,已经快小半年了,还记得第一次接触集中式版本控制工具SVN时的惊喜,这对于之前一直独立开发的我来说,才明白原来代码还可以这样管理!当然,现在对于SVN的理解,也不过是知道运行原理,能满足工作里一些简单的代码版本控制罢了.对于Git这个版本控制工具,其实已经听说很长时间了,也明白Git与SVN的工作原理的区别,也一直想入门接触一下,但是苦于下载的一些教材太厚,内容太多,一直也没上手练.正好,这几天事件比较宽裕,于是又找来相关的资料,开始慢慢接触Git的使用,希望

拥抱开源的力量--Git快速使用教程

什么是Git Git是目前世界上最先进的分布式版本控制系统.最初由Linus Torvalds编写,用作Linux内核代码的管理.如果你是windows用户,看到这里你可能会担心“是不是只能用在linux上?或者Git对于windows不是那么友好.” ,那么我告诉你你的担心是多余的,GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端:微软也通过CodePlex向开发者提供 git 版本控制系统. 为什么学习Git 除

linux入门教程(一) 关于linux的历史

很多关于linux的书籍在前面章节中写了一大堆东西来介绍linux,可惜读者看了好久也没有正式开始进入linux的世界,这样反而导致了他们对linux失去了一些兴趣,而把厚厚的一本书丢掉. Linux的历史确实有必要让读者了解的,但是不了解也并不会影响你将来的linux技术水平.哈哈,本人其实就不怎么了解linux的历史,所以对于linux的历史在本教程中不会涉及到.如果你感兴趣的话,那你去网上搜一下吧,一大堆呢足够让你看一天的.虽然我不太想啰嗦太多,但是关于linux最基本的认识,我还是想简单

Git的入门教程<一>

Git 的入门教程<一> 1> 为什么要用git git采用分布式框架,没有中央服务器,每人电脑上都一份单独的代码,单独的仓库,不需要联网,只是在有改动的时候,向对方进行推送一下,这样双方都能看到各自修改的代码了. 并且git相比于svn来说,比较安全,假如你的电脑硬盘坏掉了,此时在另一台电脑上只需从同事那里git pull 一下,就能拿到最新的代码. 那么同事之前如何进行协同办公的那? ps: git的好处当然不止这些,下面会列出. 2> git 的协同办公 一般来说,git需要

Git 的简单测试

Git 简介 Git(读音为/g?t/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具.开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvald

在Dropbox上搭建私有的Git仓库的教程

导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教程. 一.在Dropbox的文件夹下创建远程repository文件夹(.git后缀) cd ~/Dropbox/project mkdir demo.git 二.进入demo.git文件夹并初始化repository cd demo.git git init --bare 三.创建完毕,现在创建一

Mac中Git的简单实用(6) --- 分支管理策略

今天我来介绍下Git,Git是一款免费.开源的分布式版本控制系统. 我们在上一个学习了Git分支冲突管理. 这一章,我们要学习Git的Fast-forward模式.保存恢复现场 .测试的feature分支. Mac中Git的简单实用(1) - Git基本命令(1) Mac中Git的简单实用(2) - Git基本命令(2) Mac中Git的简单实用(3) - Github远程仓库 Mac中Git的简单实用(4) - 分支branch管理 Mac中Git的简单实用(5) - Git分支冲突管理 1.

Git的安装和使用(Linux)

Git诞生于Linux平台并作为版本控制系统率先服务于Linux内核,因此在Linux上安装Git是非常方便的.可以通过两种不同的方式在Linux上安装Git:一种方法是通过Linux发行版的包管理器安装已经编译好的二进制格式的Git软件包,另外一种方式就是从Git源码开始安装. 包管理器方式安装 用Linux发行版的包管理器安装Git最为简单,而且会自动配置好命令补齐等功能,但安装的Git可能不是最新的版本.还有一点要注意,Git软件包在有的Linux发行版中可能不叫git,而叫git-cor