Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(1)
0.几个基本概念
本地仓库:本机上某个存放代码的仓库。
远程仓库:码云服务器上的代码仓库。
重要提醒:当我们在本地操作(新增、删除、修改)文件、目录时,并将其提交(commit),就是提交到了本地仓库。注意:所有的改动只是放到了本地仓库,并没有上传到服务器的远程仓库。
怎么将本地仓库与远程仓库关联起来呢?
需先将本地仓库与远程仓库关联起来,就可将本地仓库中的对代码的改动上传到(push)远程仓库,也可从远程仓库将对代码的代码改动下载(pull)下来。
实验室电脑与码云服务器的关系:
- 为了将实验室的对代码的改动
push
到码云服务器上,需将实验室电脑的某个目录建立成本地仓库,然后关联码云服务器上的远程仓库。就可将代码文件加入(add
然后commit
)本地仓库,然后再将本地仓库的代码改动push
到码云上面远程仓库。 - 回到宿舍,我们可将码云上的远程仓库克隆(clone)到你的电脑上的本地仓库,即在码云的远程仓库与你电脑上的本地仓库建立了关联,然后就可愉快地同步(上传、下载)我们的文件啦。
1.在码云上申请账号并建立项目
git.oschina.net
新建项目
输入项目名,选择正确的项目语言
可以看到新建的项目中有一个默认的README.md文件。
选择HTTPS,点击复制获得远程项目仓库地址,如https://git.oschina.net/zhrb/JavaLearn.git
这时候就成功的建立了一个远程仓库。
2.在本机安装Git
到Git官网https://www.git-scm.com/ 下载Git客户端
安装过程中几个选项勾选
Use Git from the Windows Command Prompt
Checkout as-is, commit as-is
Use OpenSSH
3.在本机克隆项目远程仓库
3.1 配置git
git config --global user.name "你的名字"
git config --global user.email "你的Email"
名字会出现在你的代码提交记录中。保持Email与您的码云上注册的Email一致。
3.2 Clone项目
所谓的Clone,就是将远程仓库中的内容下载到本地仓库。
建立目录,如c:\temp\git
,进入项目目录,然后执行git clone https://git.oschina.net/zhrb/JavaLearn.git
可以看到JavaLearn目录被下载下来。注意:这时候c:\temp\git
实际上就是本地仓库
这时候就成功了建立了本地仓库并与码云的远程仓库关联起来。然后就可在本地仓库与远程仓库之间进行同步。
3.3 编写代码并提交到本地仓库
进入JavaLearn目录,然后创建chpt01目录,md chpt01
。
在chpt01目录中新建HelloWorld.java
使用下面两条命令将所有改动(新建的目录、新建的HelloWorld.java)添加到本地仓库中。
git add -A
,跟踪文件、目录的所有变化(创建、删除、修改),将所有相关文件放在暂存区。
git commit -m "这是一段注释"
,将暂存区中的所有提交到仓库中,并写上一段注释。
说明:使用git add 你的文件名
,可以更精细的选择要跟踪的文件。
其他:
git log
,查看提交记录。其中commit 504d11....f365e
是提交的id。
下面的add: HelloWorld.java
代表这次提交所进行的操作。
git log
使用说明:空格键、PageUp、PageDown翻页,q退出。
git log --pretty=oneline
:一行显示,只显示哈希值和提交说明。
如何给文件改名或者移动文件
新版的Git能监控到文件改名和移动。改名或移动后,直接add后再进行commit即可。
git status显示中文乱码:
git config core.quotepath false
3.4 将本地仓库的内容提交到远程仓库
经过前面几步,你新建的目录与文件仅在本地仓库。使用下面指令,可将本地仓库内容推送到远程仓库。
git push origin master
默认情况下,origin
指向的就是你本地的仓库托管在远程仓库的版本。
master
,本地仓库的master分支,也就是主分支。
第一次push的时候可能需要输入用户名密码,请输入你在码云上注册的邮箱和密码。
这时你使用浏览器打开码云相关项目页面,会发现你新添加的目录和文件已经上传到服务器端。
3.5 将远程仓库最新的内容抓取到本地
假设你在宿舍的d:\temp\dorm目录下曾经使用git clone将该项目克隆下来。
后来在实验室,你还往仓库中添加了Test.java。并使用git push将Test.java上传到服务器上,
你在宿舍怎么下载这个Test.java呢?
可以使用git pull
或者git pull origin master
。如图,可以看到Test.java已经被下载到本地。
pull时如果从服务器上下载下来Test.java文件和你本机上的Test.java有冲突,可能导致合并不成功。
可解决冲突后,然后重新合并。详见参考资料
其他
Eclipse EGit图形界面下使用Git
使用Eclipse Egit与码云管理你的代码
Git参考
Git链接
Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(1)的更多相关文章
- Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(2)
4. 处理冲突 4.1 向远程仓库push时无法提交成功,提示在push前应该先pull 如图所示: 有可能是因为远程仓库的版本与本地仓库的版本不一致,所以应先git pull将远程仓库的内容合并到本 ...
- 如何使用Git和码云Git@OSC
1.Git简介 关于Git是什么,阅读博客Git简介 2.Git 基础 Git命令很多,常用命令如下图 Workspace:工作区 Index/Stage :暂存区 Local Repository: ...
- GitHub Desktop+码云(GIT.oschina)使用方法
一.如何从码云GIT导入到GitHubDeskTop桌面工具. 1.先用命令行切换到本地的目录. 2.使用git clone 码云GIT地址 命令将项目克隆到本地. 3.在GitHub Desktop ...
- git和码云的使用
什么是码云 快速入门 Git入门 码云是开源中国社区2013年推出的基于 Git 的完全免费的代码托管服务,这个服务是基于 Gitlab 开源软件所开发的,我们在 Gitlab 的基础上做了大量的改进 ...
- 我的一个git(码云)之旅
合作开发项目,你就会用到git,现在码云比较简单,因为是中文化界面,学习起来难度比较低,又支持5人以下项目免费,所以学习码云更好入手一点. 下面的东西适合一些个基础比较低的用户学习,因为我就是啊... ...
- 【项目管理】git和码云的使用
缘起 说了那么多关于git和码云相关的事,一直都没给大伙讲解这个码云究竟是个啥玩意儿. 今天就给大伙说说如何通过git和码云搭建属于自己的代码库. 码云 码云(Git@OSC)是开源中国社区团队推出的 ...
- 【项目管理】git和码云的使用【转】
转自:https://www.cnblogs.com/riverdubu/p/6491944.html 缘起 说了那么多关于git和码云相关的事,一直都没给大伙讲解这个码云究竟是个啥玩意儿. 今天就给 ...
- Git从码云Clone代码到本地
Git从码云或者Github 克隆代码到本地 1.下载安装Git,傻瓜式下一步下一步即可... 2.配置Git: 2.1.选择你要clone到本地的路径:右键--->$ Git Bash Her ...
- Git(使用码云)
使用GitHub时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况(原因你懂的). 如果我们希望体验Git飞一般的速度,可以使用国内的Git托管服务——码云(gitee.com) ...
随机推荐
- C++数组和指针加减法和sizeof问题
关于指针和加减法: 指针的加减法:指针的加减法,加多少或者减多少,主要是看所指对象的sizeof值. 例子: double m = 3.0; ; double *p=&m; int* p1=& ...
- 前端应该知道的Web Components
前端组件化的痛点 在前端组件化横行的今天,确实极大的提升了开发效率.不过有一个问题不得不被重视,拟引入的这些html.css.js代码有可能对你的其他代码造成影响. 虽然我们可以通过命名空间.闭包等一 ...
- 程序员的Epic Fail [0]
作为程序员,我们经常会被客户问的一个问题一定是不是说很容易么,为什么花了这么长时间.不得不说,程序员可能是最糟糕的计划者,按时按点按计划完成的软件项目永远是下一个项目.一个项目的延期,有很多这样那样的 ...
- Apache整合Tomcat的相关问题
一.概述 在开发中遇到一个问题,tomcat 与Apache服务器适配的问题.客户那边是用wampserver这个集成软件,Aapche版本为2.4.9.想要将tomcat上的jsp显示在Apache ...
- C++中的继承(3)作用域与重定义,赋值兼容规则
作用域与重定义(同名隐藏) 一样的,先上代码 1 class A 2 { 3 public: 4 int a_data; 5 void a() 6 { 7 cout << "A& ...
- Eclipse自动生成返回值对象的快捷键是什么?
如下代码 List<ShareholderEntity> shareList = fetch.parseShareHolder(data); 如何自动生成 List<Sharehol ...
- 【CentOS7】yum 软件管理
可选命令 检查 check (检查包错误) check-update(不使用本地缓存检查更新) 安装 install localinstall groupinstall reinstall(重新安装) ...
- 关于xmlHttp.status最新统计
AJAX中请求远端文件.或在检测远端文件是否掉链时,都需要了解到远端服务器反馈的状态以确定文件的存在与否. Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下几个部分组成:一个状态行,几个 ...
- Spring mvc登录拦截器
自己实现的第一个Spring mvc登录拦截器 题目要求:拒绝未登录用户进入系统,只要发现用户未登录,则将用户请求转发到/login.do要求用户登录 实现步骤: 1.在spring的配置文件中添加登 ...
- 面试的妹纸问我:web缓存设置不是后台的事情吗?
背景介绍 团队最近在招前端开发,早上收到一封简历,是个妹纸,从技能点来看还算符合要求,于是约了下午3点过来面试. 整个面试过程持续了大约40分钟,问的题目也比较常规,其中一道题就是"常见的性 ...