本地仓库: 本机上某个存放代码的仓库。
远程仓库: 码云服务器上的代码仓库。
重要提醒: 当咱们在本地操做(新增、删除、修改)文件、目录时,并将其提交(commit),就是提交到了本地仓库。注意:全部的改动只是放到了本地仓库,并无上传到服务器的远程仓库。
怎么将本地仓库与远程仓库关联起来呢?
需先将本地仓库与远程仓库关联起来,就可将本地仓库中的对代码的改动上传到(push)远程仓库,也可从远程仓库将对代码的代码改动下载(pull)下来。
实验室电脑与码云服务器的关系:html
push
到码云服务器上,需将实验室电脑的某个目录创建成本地仓库,而后关联码云服务器上的远程仓库。就可将代码文件加入(add
而后commit
)本地仓库,而后再将本地仓库的代码改动push
到码云上面远程仓库。http://www.javashuo.com/tag/git.oschina.net
新建项目
java
输入项目名,选择正确的项目语言
git
能够看到新建的项目中有一个默认的README.md文件。
选择HTTPS,点击复制得到远程项目仓库地址,如https://git.oschina.net/zhrb/JavaLearn.git
浏览器
这时候就成功的创建了一个远程仓库。服务器
到Git官网https://www.git-scm.com/ 下载Git客户端
安装过程当中几个选项勾选.net
Use Git from the Windows Command Prompt
Checkout as-is, commit as-is
Use OpenSSH
git config --global user.name "你的名字"
git config --global user.email "你的Email"
名字会出如今你的代码提交记录中。Email应与你在码云上注册的Email一致。3d
所谓的Clone,就是将远程仓库中的内容下载到本地仓库。
创建目录,如c:\temp\git
,进入项目目录,而后执行git clone https://git.oschina.net/zhrb/JavaLearn.git
能够看到JavaLearn目录被下载下来。注意:这时候c:\temp\git
实际上就是本地仓库
这时候就成功地将本地仓库与码云远程仓库关联起来。而后就可在本地仓库与远程仓库之间进行同步。code
进入JavaLearn目录,而后建立chpt01目录,md chpt01
。
在chpt01目录中新建HelloWorld.java
orm
使用下面两条命令将全部改动(新建的目录、新建的HelloWorld.java)添加到本地仓库中。
git add -A
,跟踪文件、目录的全部变化(建立、删除、修改),将全部相关文件放在暂存区。git 2.0版本git add .
也和git add -A
同样能够跟踪文件删除。
git commit -m "这是一段注释"
,将暂存区中的全部提交到仓库中,并写上一段注释。htm
说明:
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
建议:提交时不要使用中文。
通过前面几步,你新建的目录与文件仅存在于本地仓库。使用下面指令,可将本地仓库内容推送到远程仓库。
git push origin master
默认状况下,origin
指向的就是你本地的仓库托管在远程仓库的版本。
master
,本地仓库的master分支,也就是主分支。
第一次push的时候可能须要输入用户名密码,请输入你在码云上注册的邮箱和密码。
这时你使用浏览器打开码云相关项目页面,会发现你新添加的目录和文件已经上传到服务器端。
回到你的宿舍,若是你的宿舍尚未与远程仓库关联,请clone下来(参考步骤3.2)
若是你曾经关联过,好比关联后的本地仓库在电脑中的d:\temp\dorm\JavaLearn
。
后来在实验室,你还往仓库中添加了Test.java。并使用git push origin master
将Test.java上传到服务器上,
你在宿舍怎么下载这个Test.java呢?
可使用git pull
或者git pull origin master
。如图,能够看到Test.java已经被下载到本地。
可能存在的问题:pull时若是从服务器上下载下来Test.java文件和你本机上的Test.java有冲突,可能致使合并不成功。
可解决冲突后,从新合并。详见参考资料
git config --global user.name "你的名字" git config --global user.email "你在git远程仓库注册的Email" git clone 你的git远程仓库的地址 //而后在相应目录进行了修改、添加、删除等操做 git add . git commit -m "这是一段用于说明提交的信息" git push origin master
git pull //而后在相应目录进行了修改、添加、删除等操做 git add . git commit -m "这是一段用于说明提交的信息" git push origin master
Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(2)
使用Eclipse Egit(图形界面)与码云管理你的代码
Git自助手册