git 学习小记
话说 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 学习小记的更多相关文章
- git 学习小记之图形化界面客户端
习惯了 Windows 的用户,一直不喜欢用类似命令行的东西来操作,当然我也不是不喜欢,只是操作太慢了.也许 Linux 大神在命令行的帮助下,办事效率翻倍,那也是非常常见的事情..当然我不是大神,所 ...
- git 学习小记之记住https方式推送密码
昨天刚刚学了点git基础操作,但是不幸的是Git@OSC给出公告说尽量使用 https 进行操作.可是在用 https 进行 push 时,都需要输入帐号和密码. 各种百度谷歌之后在Git@OSC官网 ...
- 【学习总结】Git学习-参考廖雪峰老师教程二-安装Git
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- Git 学习看这篇就够了!
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- git学习之branch分支
作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...
- git学习手册
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
- mongodb入门学习小记
Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...
随机推荐
- 浅谈String模块ascii_letters和digits
本文介绍string模块ascii_letters和digits方法,其中ascii_letters是生成所有字母,从a-z和A-Z,digits是生成所有数字0-9. 示例如下: In [2]: c ...
- pip virtualenv requirement
原文:https://blog.csdn.net/u011860731/article/details/46561513 pip可以很方便的安装.卸载和管理Python的包.virtualenv则可以 ...
- Kubernetes调用vSphere vSAN做持久化存储
参考 1.vSphere Storage for Kubernetes 2.IBM vSphere Cloud Provider 3.GitHub vSphere Volume examples 一. ...
- 分布式理论:深入浅出Paxos算法
前言 Paxos算法是用来解决分布式系统中,如何就某个值达成一致的算法.它晦涩难懂的程度完全可以跟它的重要程度相匹敌.目前关于paxos算法的介绍已经非常多,但大多数是和稀泥式的人云亦云,却很少有人能 ...
- 微软职位内部推荐-Software Development Engineer II_Commerce
微软近期Open的职位: Are you looking for a high impact project that involves processing of billions of dolla ...
- C. Smallest Word
链接 [http://codeforces.com/contest/1043/problem/C] 题意 给你一个只包含a,b的字符串,有一种操作把第1个字符到第i个字符的子串进行反转,问要使最后字符 ...
- [BUG随想录] 看不见的分隔符: Zero-width space
今天在调试一段代码的时候,有一个输入不能为空的库函数抛出了异常(为空就会抛出异常,就是这么傲娇).自己暗骂了自己一番,怎么这么大意,于是追溯源头,开始寻找输入控制的地方.但是当我找到时我惊呆了,我明明 ...
- 使用redis防止抢购商品超卖
前言: redis不仅仅是单纯的缓存,它还有一些特殊的功能,在一些特殊场景上很好用. 本篇博文用来测试下使用redis来防止抢购商品超卖问题. 内容: 使用redis的list进行测试 思路是设置一个 ...
- 使用alpine的docker镜像下 dind 的方式安装dotnet core 的一个非dockerfile的方法
1. 下载dind的镜像 docker pull docker:dind 2. 执行该镜像 docker run -it --privileged --name some-docker -d dock ...
- UML实践详细经典教程
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...