git 配置教程

# Git 教程

---

[TOP]

## 安装git

    傻瓜式安装便可,这里就不赘述了

## 注册帐号 https://gitee.com

## 配置

### (1)配置git 用户名和邮箱

    git config --global user.name '你的用户名'
    git config --global user.email '你的邮箱'

### (2)配置公钥

生成ssh公钥, [设置公钥](http://git.mydoc.io/?t=154712) 在提交的时候不用每次都输入.

```
# 生成 sshkey:

    ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

# 三次回车便可生成 ssh key
# C:/Users/Administrator/.ssh下会看到 id_rsa 和 id_rsa.pub 两个文件,其中id_rsa是私钥,不可泄露出去,而id_rsa.pub是公钥,能够公开。

1. 找到 id_rsa.pub 文件(使用记事本打开)
2. 复制里面的内容
3. 粘贴到 https://gitee.com/profile/sshkeys 下的公钥文本框里面,标题随便写。

```

## 第一种上传方式
本地已经有项目要上传到线上

### (1)建立版本库

    mkdir test      // 新建目录,路径中不要有中文字符!
    cd test         // 切换到目录下

### (2)初始化git

    git init

### (3)将本地文件跟远程文件关联起来。

    git remote add origin https://gitee.com/xxx/demo.git

### (4)github中的README.md文件不在本地代码目录中,能够经过以下命令进行代码合并

    git pull --rebase origin master

    执行上面代码后能够看到本地代码库中多了README.md文件

### (5)添加本地文件到git仓库,并提交文件添加记录
    
    git add . && git commit -m '注释'

### (6)提交本地仓库修改记录到线上(可与上面命令一块儿写

    git push -u origin master (第一次这样写,之后能够直接省略成 `git push` 便可)


## 第二种上传方式

本地无项目,想将远程文件下载下来

    git clone https://gitee.com/xxx/demo.git
    
------
    以上基本搞好一个项目的初始化了,下面是对项目文件的更多操做。
------

## 添加文件到本地git仓库 至关于svn的+

    git add test.txt

## 提交文件到本地git仓库

    git commit -m 'add test.txt'

```
1. 提交文件到git仓库至关于svn的commit.
2. 参数`-m`表示本次提交的说明,能够输入任意有意义的内容,这样方便从历史记录中找到改动记录。
3. 能够同时添加多个文件
```

修改文件,在文件中写上点东西

## 查看文件状态【提示消息中告诉咱们哪些文件被修改】

    git status

## 查看详细修改内容

    git diff

再修改文件,在文件中写点东西

## 查看修改记录【打印出具体日志信息】 会显示版本号id对应的信息

    git log

## 咱们也能够以一种更简洁的方式查看日志,只须要加上“--pretty=online”参数便可

    git log --pretty=online

## 版本回退

    git reset --版本号

## 记录咱们每次执行的命令“git reflog”

    git reflog

## 撤销修改

    git checkout --text.txt

## 删除文件

    git rm text.txt

```
参考:
1. (深刻学习:Windows下Git入门教程)[http://blog.csdn.net/huangyabin001/article/details/35557231]
# (上)是基本操做,必学
# (下)是分支操做,能够做为扩展。
2. 廖雪峰的git入门

```

---

## git和svn的区别

```
1. Git是分布式的,而Svn不是分布的.
相同的是:Git跟Svn同样有本身的集中式版本库和Server端。
不一样的是:但Git更倾向于分布式开发,由于每个开发人员的电脑上都有一个本地仓库,因此即便没有网络也同样能够Commit,查看历史版本记录,建立项 目分支等操做,等网络再次链接上Push到Server端。

2. 版本库:
SVN只能有一个指定中央版本库。当这个中央版本库有问题时,全部工做成员都一块儿瘫痪直到版本库维修完毕或者新的版本库设立完成。
Git能够有无限个版本库。每个Git都是一个版本库,区别是它们是否拥有活跃目录(Git Working Tree)。若是主要版本库(例如:置於GitHub的版本库)发生了什麼事,工做成员仍然能够在本身的本地版本库(local repository)提交,等待主要版本库恢复便可。工做成员也能够提交到其余的版本库

3. Git的内容的完整性要优于SVN

4. Git把内容按元数据方式存储,而SVN是按文件.
由于,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上全部的东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,你会发现它们差距很大。

5. Git没有一个全局版本号,而SVN有

6. Git下载下来后,在离线状态下能够看到全部的Log,SVN不能够

7. 分支(Branch)
在SVN,分支是一个完整的目录。且这个目录拥有完整的实际文件。若是工做成员想要开啟新的分支,那将会影响“全世界”.
在git,每一个工做成员能够任意在本身的本地版本库开啟无限个分支。举例:当我想尝试破坏本身的程序(安检测试),而且想保留这些被修改的文件供往后使用, 我能够开一个分支,作我喜欢的事。彻底不需担忧妨碍其余工做成员。只要我不合并及提交到主要版本库,没有一个工做成员会被影响。等到我不须要这个分支时, 我只要把它从个人本地版本库删除便可

8. 提交(Commit)在SVN,当你提交你的完成品时,它将直接记录到中央版本库。当你发现你的完成品存在严重问题时,你已经没法阻止事情的发生了。若是网路中断,你根本没办法提交!而Git的提交彻底属於本地版本库的活动。而你只需“推”(git push)到主要版本库便可。Git的“推”实际上是在执行“同步”(Sync)。


來源:(话说Svn与Git的区别)[http://www.jianshu.com/p/bfec042349ca]
    

```
相关文章
相关标签/搜索