话说 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. Win7远程桌面的多用户连接破解

    系统是 64位WIN7 旗舰版 每当我用其它机器连WIN7的3389远程桌面时,WIN7那台机子就会退出到注销用户后的状态了,后来我新建了个用户,用不同用户登陆还是退出,也就是说不能同时2个人操作电脑 ...

  2. shellcode 编码技术

    在很多漏洞利用场景中, shellcode 的内容将会受到限制. 例如你不能输入 \x00 这个字符,编辑框不能输入 \x0d \x0a这样的字符 所以需要完成 shellcode 的逻辑,然后使用编 ...

  3. Catlike学习笔记(1.1)-使用Unity实现一个钟表

    最近发现『Catlike系列教程』觉得内容真的很赞,感觉有很多地方涉及到了我的知识盲点,如果真的可以照着做下来一遍的话应该收获颇丰.因为教程很长所以逐字翻译不太可能了(主要是翻译的太差).基本上就是把 ...

  4. LintCode——合并排序数组II

    描述:合并两个排序的整数数组A和B变成一个新的数组 样例:给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6] 1.Python:先将数组B加到数组A之后,然后 ...

  5. 大厂面试官:Java工程师的“十项全能”

    想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格Java软件工程师所要具备的. 一.专业技能 熟练的 ...

  6. 深入理解docker信号机制以及dumb-init的使用

    一.前言 ● 容器中部署的时候往往都是直接运行二进制文件或命令,这样对于容器的作用更加直观,但是也会出现新的问题,比如子进程的资源回收.释放.托管等,处理不好,便会成为可怕的僵尸进程 ● 本文主要讨论 ...

  7. 第一次scrum meeting

    在这次会议中,我们确定了任务的具体分配.这里截取一部分,每个人都有20个小时左右的编程任务,整个项目共计约140小时. 明天是正式开始软件实现的第一天,下面列出前两天每个人的任务:   第一天 第二天 ...

  8. Beta版本总结

    beta 阶段的 postmortem 报告 1. 每个成员在beta 阶段的实践和alpha 阶段有何改进? 成员  Beta阶段的实践和alpha 阶段有何改进  黄山成 beta阶段较alpha ...

  9. 剑指offer:数组中出现次数超过一半的数

    题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2 ...

  10. HDU 2020 绝对值排序

    http://acm.hdu.edu.cn/showproblem.php?pid=2020 Problem Description 输入n(n<=100)个整数,按照绝对值从大到小排序后输出. ...