话说 git 出了已经很久了,可是我一直没用过。其实也不是没用过,只不过在 github 上下载东西那根本就不是在用 git,只是单纯的HTTP下载而已。
我们公司用的是 svn,所以我只会一点点svn而已。

看现在到处都在说git怎么好怎么好,甚至是程序员的必备技能,,那,那,那我也来学一下好了,免得被淘汰了。
当然,我这次的目标不是 github,而是开源中国提供的 Git@OSC 地址 git.oschina.net
Git@OSC 是开源中国社区团队基于开源项目 GitLab 开发的在线代码托管平台。
当然不知道他跟 github 比有没有什么区别,但我可以肯定的是,至少访问速度快,而且稳定,在我大天朝时不时被墙是非常正常的事情。

在 git@osc 的帮助里,有很多不错的教程,有超详细的权威书籍,也有超简单的gif入门演示。
为了快速入门,我就看了下 git快速入门(gif动画版) 里的克隆和推送。

不过在实验的过程中,我遇到了一个不大不小的问题,就是怎么都 push 不了。
明明和他的操作一样,可是就是 push 不了,,难道是我 push 的姿势不对?
最终发现需要先设置下 user.name 和 user.email 才行。。
好吧,我承认我其实一直很二。。

不扯蛋了,来看一遍实战演示吧,希望能给那些想要学习的朋友一点帮助。
PS: 我是Windows党,演示环境是 win8.1

0. 注册登录 git@osc 和安装 msysgit (这个就不用演示了吧。。)

用户注册:https://git.oschina.net/signup
msysgit下载地址:http://msysgit.github.io/

1. 创建一个项目。


点击右上角的那个 + 就可以打开创建项目的页面了,这个页面项目名是必填的,其他的选项都无所谓。
我们就创建一个测试用的 test 项目好了。
创建完毕后,我们就会来到这个界面。


我们先记录下 http://git.oschina.net/cik/test.git 这个地址。

2. 克隆到本地

在任意文件夹或者桌面点鼠标右键,然后选择 Git Bash

就可以打开一个类似 Linux 下的终端窗口了。

我们把刚才创建的那个项目克隆到本地吧。
git clone http://git.oschina.net/cik/test.git
可能有朋友会纳闷,怎么没法粘帖,其实可以的,但是稍微麻烦点。

在窗口标题处点击右键,然后选择粘帖就好了。
执行完毕后,会发现当前目录下多了一个 test 目录,这个就是我们克隆下来的项目了。

3. 创建文件

随便往里加入几个文件好了,反正就测试,走通流程后,你就理解了,可以自己各种瞎搞了。。
我添加了一个 1.txt 和 2.js 文件。

4. 添加文件到git里 (专业说法是 跟踪新文件 和 提交更新)

回到刚才那个黑乎乎的框里。
由于我们还是在上级目录里,所以要输入 cd 项目名 进入到项目目录才能继续操作。

可以看到 cik@SCRIPT /C/Users/cik/Desktop/git/test (master)
有一个 master 字样。
我们输入 git add . 或者 git add * 就可以把刚才新加的两个文件都加入到 “跟踪新文件” 里。
输入 git status 可以查看已经成功跟踪了。如果没有跟踪,会显示暗红色。。

然后下一步就要提交更新,当然这个不是更新到远程,只是在本地。
git commit -m "提交测试"

看到输出这么大一段东西了没?
当时我就栽在这一步。。
提示要求我们设置 邮箱 和 用户名,也许对于会用的人来说,这个根本不算是问题,
可是像我这想简单快速入门的,就不知道怎么回事了。
所以在这里,我们要添加下用户名和邮箱。
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
--global 参数是添加到全局配置的意思,如果你有多个项目,都会采用这个配置,省的每次都操作了。
设置完毕后重新执行 git commit -m "提交测试" 进行提交。
就可以看到已经成功提交了。

5. 推送数据到远程仓库

好了,我们到最后一步了,就是把刚才加入的两个文件推送到 git@osc 服务器上。
输入 git push origin master 即可推送。

当然我们还得输入帐号密码,输入完成后,就会进行推送。
我们回到 git@osc 上,可以看到文件已经在服务器上了。

至此,git 克隆 添加文件 推送 我们已经简单掌握了,后面还有一些技巧大家自己去折腾吧。

git 学习小记的更多相关文章

  1. git 学习小记之图形化界面客户端

    习惯了 Windows 的用户,一直不喜欢用类似命令行的东西来操作,当然我也不是不喜欢,只是操作太慢了.也许 Linux 大神在命令行的帮助下,办事效率翻倍,那也是非常常见的事情..当然我不是大神,所 ...

  2. git 学习小记之记住https方式推送密码

    昨天刚刚学了点git基础操作,但是不幸的是Git@OSC给出公告说尽量使用 https 进行操作.可是在用 https 进行 push 时,都需要输入帐号和密码. 各种百度谷歌之后在Git@OSC官网 ...

  3. 【学习总结】Git学习-参考廖雪峰老师教程二-安装Git

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  4. 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  5. Git 学习看这篇就够了!

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...

  6. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  7. git学习之branch分支

    作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...

  8. git学习手册

    #git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...

  9. mongodb入门学习小记

    Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...

随机推荐

  1. 阿里云 ECS 监控报警设置

    1.阿里云监控项说明 https://helpcdn.aliyun.com/document_detail/43505.html 2.监控设置 3.报警规则 4.设置阈值 5.确定即可. 6.效果图

  2. Kubernetes并发控制与数据一致性的实现原理

    在大型分布式系统中,定会存在大量并发写入的场景.在这种场景下如何进行更好的并发控制,即在多个任务同时存取数据时保证数据的一致性,成为分布式系统必须解决的问题.悲观并发控制和乐观并发控制是并发控制中采用 ...

  3. 学习笔记 | CDQ分治

    目录 前言 啥是CDQ啊(它的基本思想) 例题 后记 参考博文 前言 博主太菜了 学习快一年的OI了 好像没有什么会的算法 更寒碜的是 学一样还不精一样TAT 如有什么错误请各位路过的大佬指出啊感谢! ...

  4. webWorker

    一.webWorker之初体验 在"setTimeout那些事儿"中,说到JavaScript是单线程.也就是同一时间只能做同一事情. 也好理解,作为浏览器脚本语言,如果JavaS ...

  5. 11.10 Daily Scrum

    工作进度有点拖后,之后几天要加快步伐了.   Today's tasks  Next week 丁辛 餐厅列表UI设计 餐厅列表事件处理             李承晗             实现指 ...

  6. 代理 ip

    利用 VPN 技术通过一台服务器将自己的电脑冒名借用这个服务器的ip ,这台服务器的 ip 即为代理 ip,被冒名ip的服务器即为 代理服务器.我猜的. 实验 这次使用的是 芝麻软件 代理ip软件,其 ...

  7. Python日志模块简单使用

    def loginfo(info): # create logger logger = logging.getLogger('[cpu and mem]**********') # Set defau ...

  8. Docker(十八)-Docker配置DNS

    Linux系统配置DNS的时候有一个问题,就是你在/ect/resolv.conf文件中添加上nameserver XXX.XXX.XXX.XXX的时候,当时是生效的,但是机器重启之后就失效了,所以我 ...

  9. npm 切换淘宝镜像几种方式

    淘宝 npm 地址: http://npm.taobao.org/ 如何使用 有很多方法来配置npm的registry地址,下面根据不同情境列出几种比较常用的方法.以淘宝npm镜像举例: 1.临时使用 ...

  10. Python学习---------登陆系统代码实现

    题目要求: 一.编写登陆入口 1.输入用户名密码 2.认证成功后显示欢迎的信息 3.输错三次后锁定 Readme: 1.本次实现了登陆系统,若锁定就输出为锁定用户(锁定信息保存在user_lock.t ...