快速入门git

1.1 git是什么
git是一种版本控制器.
更直白说,团队开发时,管理代码用的软件.
面试时,容易被问到的一个东西.

1.2 安装
git在linux,Mac,Win下都可以安装.
本文是以Win7系统为环境编写的.
Window环境:
https://git-for-windows.github.io/ 下载软件,双击,一路”Next”,安装完毕.
到开始菜单找”git bash”,如下图
到开始菜单找"git bash",如下图
Linux环境下安装git:

#ubuntu,debian#
#sudo apt-get install git

centions,redhat系统

#yum install git

1.3报家门
人在江湖,岂能没有名号.
开源教主RIchard Matthnew Stallman的江湖名号RMS
在你用git之前,要先报家门,否则代码不能提交

$ git config --global user.name #你是谁
$ git config --global user.email #怎么联系你

1.4代码管理

1.4.1创建版本库

$ cd E:/
$ mkdir test
$ cd test
$ git init

注意:

  • 不要把仓库建在中文目录下,可能会出问题.
  • .git是个隐藏目录,不要乱碰(你的每一次代码修改它都帮你记录着呢)

1.4.2添加文件
在E:/test目录下,用你喜欢的编辑器(sublime/editplus/notepad/vim等)
开发你的程序,比如index.php
编辑PHP文件后,git status,查看仓库状态
实例如下:

$ git status

可见,此时git发现有一个新文件,但并没有把此文件纳入管理.
我们需要两步,让git仓库管理index.php

  • git add index.php
    把index.php提交到暂存区
  • git commit -m “新建index.php”
    把index.php提交到版本库

1.4.3修改文件
如果修改了文件,也不要忘记提交到版本库
这个过程和添加文件时一样的

一样需要两步,让git仓库记录此次改变

  • git add index.php
    把index.php提交到暂存区
  • git commit -m “改了第2行”
    把index.php提交到版本库

1.4.4删除文件
用rm命令删除文件,并直接commit提交到版本库
例:先创建一个foo.ph供练习删除用
实例如下:

$ git add foo.php
$ git commit -m "练习删除用"
$ ls
foo.php index.php

#开始删除
$ git rm foo.php
rm 'foo.php'

$ git commot -m "删除foo.php"
(master e4dc37c)删除foo.php

$ ls
index.php

1.5远程仓库
经过前面的练习,你在本地的仓库里管理代码已经比较熟练了.
但如果是团队开发,如何配合起来呢?

我们可以把版本仓库放在互联网上.
开发者把自己最新的版本推到线上仓库.
同时,把线上仓库的最新代码,拉到自己本地.
这样,就可以配合工作了.
1.5.1注册git在线仓库的账号
国外:http://www.github.com
国内:http://git.oschina.net
github.com也是目前程序员的装逼利器,在github上挂个项目,逼格瞬间提升两三档.
不过由于是国外网站,速度不咋样.
出于学习的方便,我在oschina.net给大家演示.
请立即打开http://git.oschina.net 注册一个账户.
1.5.2创建项目
在oschina注册后,”新建项目”,我们先建一个测试项目,叫test.
oschina为此项目提供的仓库地址有2个.
http地址:https://git.oschina.net/lianshou/test.git
ssh地址:git@git.oschina.net:lianshou/test.git
近几章的学习,我们先用http地址

1.5.3把代码推到远程仓库
推:push

  • 为本地库添加远程库
$ git remote add origin https://git.oschina.net/lianshou/test.git
意思是:添加1个远程库,代号是orgin,地址是https://....test.git
  • push 推代码
    push orgin master
    意思是,把本地的版本(默认是master),推到代码origin的远程库去.
    这个过程会让你输入用户名|密码,即你注册时的账户密码.
    1.5.4 团队合作
    你想让一位叫”火夫”的程序员,和你一起开发.
    首先lianshou账户把火夫添加到此项目中来,让其成为开发者
    项目->管理->项目成员管理->开发者->添加项目成员->输入“huofu”.
    他应该先把远程库复制一份到他本地.
    命令:clone
$ cd F:/
$ git clone https://git.oschina.net/lianshou/test.git
$ cd test
$ ls
index.php

“火夫”修改并push他的代码
另一个账户,如何得到仓库里的最新代码?
推:push 拉:pull
lianshou账户拉取最新代码

$ git pull origin master

此时,查看最新的index.php内容,第四行,多了”火夫”的那一行.
至此,你可以和小伙伴愉快的用git开发了.
如果要掌握更多的git功能,后面还有四章,敬请期待!
第二章 git的特点及诞生
2.1分布式版本控制器
2.2发展历史
第三章 代码管理
3.1工作区和版本库
如果你想要更清晰的学习git,你必须了解3个重要的区域.

  • 工作区,即开发者的工作目录
  • 暂存区,修改已被记录,但尚未录入版本库的区域.
  • 版本库,存储变化日志及版本信息.
    3.2文件操作
    3.3改动日志
    每个文件/目录发生的版本变化,我们都可以追溯.
    命令为“git.log”
    常用格式:
    git log 查看项目的日志》
    git log 查看某文件的日志
    git log . 查看本目录的日志

如果感觉log有点乱可以git log –pretty=oneline,让日志单行显示.
3.4版本切换
我们针对ver.txt.连续修改4次,形成了4个版本.
one line
second line
third line
four line
git reflog 查看版本变化
$ git reflog

72f608d HEAD@{0}: pull origin master: Fast-forward
488c592 HEAD@{1}: commit: orgin
5aa41fc HEAD@{2}: commit: del read.txt
af2afd7 HEAD@{3}: commit: read
ece7822 HEAD@{4}: commit: modified
7b09637 HEAD@{5}: commit (initial): 新建index.txt

HEAD指向当前版本7b09637
切换成head的当前1版本,git reset –hard HEAD^
切换成head的当前2版本,git reset –hard HEAD^^
切换成head的当前100版本,git reset –hard HEAD~100
也可以利用版本号来切换.
注意:版本号不用写那么长,能保证不与其他版本号重复就行.
第四章 分支管理
4.1 分支有什么用?
4.2查看分支
查看所有分支 git branch
4.3创建分支
创建dev分支 git branch dev
4..4 切换分支
切换到dev分支 git checkout dev
4.5合并分支
当我们在dev上开发某功能,并测试通过后,可以把dev的内容合并到master分支.
例:
当前的readme.txt内容为“so so”,在dev分支下,添加一行“from dev”
并提交

git add readme.txt
git commit -m "mod in dev"

再次切换到master,查看readme.txt的内容,仍为“so so”
合并dev分支,git merge dev,如下:
再次查看readme.tex的内容,已变成”soso from dev”;
4.6 删除分支

git branch -d dev
Deleted branch dev (was 412926b)

4.7 快速创建和切换分支
git checkout -b dev #创建dev分支并立即切换到dev分支
即起到git branch dev和git checkout dev的共同作用.
第五章远程仓库配置
查看远程仓库别名
查看远程仓库:git remote
查看远程地址:git remote -v
删除远程库别名
命令:git remote remove <远程库名>
示例:git remote remove origin
5.1添加远程库
命令:git remote add <远程库名><远程库地址>
注:远程库名一般叫origin,但并非强制,你可以自己起名.
5.2公钥配置
我们push本地仓库到远程时,总要输入用户名/密码,这很不方便.
配置公钥,可以避免频繁输用户名/密码的麻烦.
1.配置ssh格式的远程仓库地址
git remote add 远程仓库名 远程仓库地址
2.创建ssh key
ssh-keygen -t rsa -C “youremail@example.com”,把邮件地址换成你自己的邮件地址,一直回车,不用输入密码,完成后,可以在用户主目录里找到.ssh目录,内有id_rsa和id_rsa.pub两个文件,id_rsa是私钥,id_rsa.pub是公钥.
这两把钥匙是成对的,可以让分别持有私钥和公钥的双方相互认识.
3.把公钥放在服务器
用记事本打开id_rsa.pub,复制公钥内容.
登录git.oschina.net,填入公钥并保存.

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值