标签 "Git" 下的文章

Git介绍

分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;
保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;
Git离线操作性 :Git可以离线进行代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进行; 这意味着Git的速度要比SVN等工具快得多, 因为SVN等工具需要在线时才能操作, 如果网络环境不好, 提交代码会变得非常缓慢;
Git基于快照 : SVN等老式版本控制工具是将提交点保存成补丁文件, Git提交是将提交点指向提交时的项目快照, 提交的东西包含一些元数据(作者, 日期, GPG等);
Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支;
分支即时性 : 创建和切换分支几乎是同时进行的, 用户可以上传一部分分支, 另外一部分分支可以隐藏在本地, 不必将所有的分支都上传到GitHub中去;
分支灵活性 : 用户可以随时 创建 合并 删除分支, 多人实现不同的功能, 可以创建多个分支进行开发, 之后进行分支合并, 这种方式使开发变得快速, 简单, 安全。

Git通用客户端官方下载地址

http://git-scm.com/

Git软件安装

欢迎界面 : 直接下一步;

01
协议 : 必须接受;
02

安装位置 : 预留100M空间, 自定义安装位置;
03

选择安装组件 :也可以默认选择;
— 图标组件(Addition icons) : 选择是否创建快速启动栏图标 或者 是否创建桌面快捷方式;
— 桌面浏览(Windows Explorer integration) : 浏览源码的方法, 单独的上下文浏览 只使用bash 或者 只用Git GUI工具; 高级的上下文浏览方法 使用git-cheetah plugin插件;
— 关联配置文件 : 是否关联git配置文件, 该配置文件主要显示文本编辑器的样式;
— 关联shell脚本文件 : 是否关联Bash命令行执行的脚本文件;
— 使用TrueType编码 : 在命令行中是否使用TruthType编码, 该编码是微软和苹果公司制定的通用编码;
04
git客户端版本控制软件4

开始菜单快捷方式目录 : 设置开始菜单中快捷方式的目录名称, 也可以选择不再开始菜单中创建快捷方式;
05
git客户端版本控制软件5

设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用Git Bash即可, 默认选择;
— Git自带 : 使用Git自带的Git Bash命令行工具;
— 系统自带CMD : 使用Windows系统的命令行工具;
— 二者都有 : 上面二者同时配置, 但是注意, 这样会将windows中的find.exe 和 sort.exe工具覆盖, 如果不懂这些尽量不要选择;
06
git客户端版本控制软件6

选择换行格式 :
— 检查出windows格式转换为unix格式 : 将windows格式的换行转为unix格式的换行在进行提交;
— 检查出原来格式转为unix格式 : 不管什么格式的, 一律转为unix格式的换行在进行提交;
— 不进行格式转换 : 不进行转换, 检查出什么, 就提交什么;
07

开始安装 :
08

安装结束 : over;
09

配置GitHub

在开始菜单找到Git Bash右键属性,修改Git Bash的配置 : 将Git Bash设置为快速编辑模式, 可以更好的使用该命令行工具 :
git客户端版本控制软件10
QQ截图20151108234053

创建本地ssh

一种传输代码的方法,速度快安全。详细可去百度查资料、也可以选择HTTPS传输,那就跳过此步。

ssh-keygen -t rsa -C "piaoyun@piaoyun.cc"

GitHub邮箱 : 该命令后面的邮箱就是GitHub的注册邮箱;
路径选择 : 使用该命令之后, 会出现提示选择ssh-key生成路径, 这里直接点回车默认即可, 生成的ssh-key在默认路径中;
密码确认 : 这里我们不使用密码进行登录, 用密码太麻烦;
git客户端版本控制软件11
QQ截图20151108233315

将ssh配置到GitHub中

进入生成的ssh目录 : C:\Documents and Settings\piaoyun\.ssh (或者 C:\Users\自己电脑用户名\.ssh)中, 使用记事本打开 id_rsa.pub 文件, 将该文件中的内容复制;

id_rsa.pub 文件内容 :

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAtT1YCeaNulpfC+ARqAWrCdfpi6CpW3gkGT0hp6Q8by7NnEfy4dah9CwSrNbWJH5eS4tiqckE+bdbSVNvAboFD1MtGZjtzE4GDweG/6J/SDYV/ADFN/RLWGb+5rQ8wMCjc/fODgLJDFxk1Fwk/TTqTcbtLab1toLcts3zGIW5DstA3RQ0CCX/sPew5m7vh7DcKXluj2TBd9hw== piaoyun@piaoyun.cc

进入GitHub网站 : 登录GitHub, 选择Account Setting 用户设置:
git客户端版本控制软件12

选择左侧的SSH-KEY选项 :

git客户端版本控制软件13
点击右侧的Add SSH key :
git客户端版本控制软件14

将上面复制好的ssh-key复制进去 :
git客户端版本控制软件15

验证是否配置成功 :

ssh -T git@github.com

验证时可能让你输入YES。

成功提示 : 如果出现Hi han1202012! You’ve successfully authenticated, but GitHub does not provide shell access. 就说明配置成功, 可以连接上GitHub;
git客户端版本控制软件16

配置本地用户和邮箱

用户名邮箱作用 : 我们需要设置一个用户名 和 邮箱, 这是用来上传本地仓库到GitHub中, 在GitHub中显示代码上传者;
使用命令 :

git config --global user.name "PiaoYun" //设置用户名
git config --global user.email "piaoyun@piaoyun.cc" //设置邮箱

到此Git客户端已安装及GitHub配置完成,现在可以从GitHub传输代码了。
QQ截图20151108233250

设置Git默认目录为本地项目开发库

如果设置了,就不用每次打开Git再cd打开目录了。方法:右键git快捷图标(名叫:Git Bash),找到快捷方式-起始位置,把你的项目地址放在这里就可以了。

新版Git设置如下图:
074

近日使用“git add”出现如下错误:

$ git add .
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'inc/jquery2.1.1/jquery.min.js' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.

使用“git status”查看状态:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified: app/js/app.js
new file: app/tpl/admin.html
new file: app/tpl/home.html
new file: inc/jquery.2.1.1/jquery.min.js
modified: index.html

Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

deleted: inc/jquery2.1.1/jquery.min.js

解决方法很简单:
$ git add -A #或 git add -all

warning: Your console font probably doesn't support Unicode. If you experience strange characters in the output, consider switching to a TrueType font such as Lucida Console!

解决办法:
$ git config --global core.autocrlf true

warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'.

To squelch this message and maintain the current behavior after the default changes, use: git config --global push.default matching

To squelch this message and adopt the new behavior now, use: git config --global push.default simple

错误信息:warning: LF will be replaced by CRLF in XXXXXXXXXXXXXX.
解决办法:
$ git config --global core.autocrlf false

事实上这并不会影响你push的结果,最终push还会成功,因为这只是一个”warning“

你可以按照他说的那样运行:git config --global push.default matching 或者 git config --global push.default simple命令,以后再push就不会有警告了。
下面说一下push.default matching和push.default simple的区别:

push.default设置maching的意思是:git push 会把你本地所有分支push到名称相对应的远程主机上。这意味着可能你会在不经意间push一些你原本没打算push的分支。push.default设置成simple的意思是:git push仅仅把当前所在分支push到从当初git pull pull下来的那个对应分支上,另外,这个过程也会同时检查各个分支的名称是否相对应。

TortoiseGit 是Windows下的可视化Git界面.在windows下使用git最好的软件就是TortoiseGit,类似与TortoiseSVN小乌龟。

一、安装git工具

安装前必须装上msysgit才能在Windows上使用Git
安装顺序:
——先安装msysgit,再安装TortoiseGit

msysgit下载地址:
百度网盘:http://pan.baidu.com/s/1pJylH4B
360云盘:http://yunpan.cn/QaKbYyHnS9HWq  访问密码:b114
网站地址:http://msysgit.github.io/

TortoiseGit 下载地址:
百度网盘:http://pan.baidu.com/s/1qWI22mw
360云盘:http://yunpan.cn/QaKbPAzrge8Sb  访问密码:02de
网站地址:http://code.google.com/p/tortoisegit/

安装Git:
先安装msysgit,因为已经有TortoiseGit作为操作界面,所以到选择组件时时按下图设置:
015

安装完之后使用git bash.
git bash是Windows下的命令行工具。
基于msys GNU环境,有git分布式版本控制工具,也主要用于git。

1.Git 安装过程截图:
3 4 5 6 7 8 9 10

2.TortoiseGit 安装过程截图:
11 12 13 14 15 16 17

二、关于git和github的一些概念

repository [ri'p?zit?ri] 知识库,版本库,代码库
collaborate [k?'l?b?ret] 合作,协作,协同
git 是一个快速高效的、分布式的版本控制系统,完美适用于协作式软件开发。
github 是与其他人协作做好的方式。
fork 分支
brunch 分支

三、向github中托管代码

1.set up git

1.配置Username和Email

git config --global user.name "Your Name Here"
git config --global user.email "your_email@example.com"

2.配置git和gitbash可以正常显示中文

安装完git后,默认对中文支持是灰常有限的,为了支持中文需要做一系列配置:

1、Git Bash 中输入 ls 命令,可以正常显示中文文件名:

修改%Gi%t\etc\git-completion.bash,如果没有则在末尾添加下面一行:

alias ls='ls --show-control-chars --color=auto'

2、在Git Bash 中可以正常输入中文:

修改%Git%\etc\inputrc,修改配置项如下:

set output-meta on
set convert-meta off

3、Git Bash中查看日志是能正常显示中文:
修改%Git%\etc\profile,在末尾添加如下一行:

export LESSCHARSET=utf-8

4、在git gui 中正常显示代码中的中文:

修改%Git%\etc\gitconfig,添加如下配置项(如果代码文件是gb2312编码,就填gb2312)

[gui]
encoding = utf-8

5、正常显示推、拉中文修订说明

修改%Git%\etc\gitconfig,添加如下配置项

[i18n]
commitencoding = GB2312

说明:若没有此项存在两个问题,一、我们推到服务器的中文修订说明会变成乱码;二、我们从服务器拉下来的别人推上去的中文修订说明也会是乱码。
2.create a repo

首先在github上新建一个repo,如 MyTools,然后在git bash中操作

mkdir MyTools
cd MyTools
git init

10172730-42e4432f38c148a0bbd9fd36a62f8213

touch README
--edit README file
git add README
git commit –m 'the first commit for git'

2

git remote add origin https://github.com/FrankFan/MyTools.git
git push origin master

3
4

说明:
touch和cat的区别
cat 一般是用来查看文本文件内容
touch可以新建一个空文件,可以修改文件的创建时间
update 2013-05-17

1.如果要删除一个文件,使用

git remove READ

删除之后再git add <file>则不会在索引中删除这个文件,必须通过使用-a选项的命令:

git commit -a -m 'now file READ is removed'

2. git clone
把github上的源代码库拷贝到本地:

git clone https://github.com/FrankFan/DatabasePicExporter