zoukankan      html  css  js  c++  java
  • Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(1)

    0.几个基本概念

    本地仓库: 本机上某个存放代码的仓库。
    远程仓库: 码云服务器上的代码仓库。
    重要提醒: 当我们在本地操作(新增、删除、修改)文件、目录时,并将其提交(commit),就是提交到了本地仓库。注意:所有的改动只是放到了本地仓库,并没有上传到服务器的远程仓库。
    怎么将本地仓库与远程仓库关联起来呢?
    需先将本地仓库与远程仓库关联起来,就可将本地仓库中的对代码的改动上传到(push)远程仓库,也可从远程仓库将对代码的代码改动下载(pull)下来。
    实验室电脑与码云服务器的关系:

    1. 为了将实验室的对代码的改动push到码云服务器上,需将实验室电脑的某个目录建立成本地仓库,然后关联码云服务器上的远程仓库。就可将代码文件加入(add然后commit)本地仓库,然后再将本地仓库的代码改动push到码云上面远程仓库
    2. 回到宿舍,我们可将码云上的远程仓库克隆(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: empgit,进入项目目录,然后执行git clone https://git.oschina.net/zhrb/JavaLearn.git
    可以看到JavaLearn目录被下载下来。注意:这时候c: empgit实际上就是本地仓库

    这时候就成功地将本地仓库与码云远程仓库关联起来。然后就可在本地仓库与远程仓库之间进行同步。

    3.3 编写代码并提交到本地仓库

    进入JavaLearn目录,然后创建chpt01目录,md chpt01
    在chpt01目录中新建HelloWorld.java

    使用下面两条命令将所有改动(新建的目录、新建的HelloWorld.java)添加到本地仓库中。
    git add -A,跟踪文件、目录的所有变化(创建、删除、修改),将所有相关文件放在暂存区。git 2.0版本git add .也和git add -A一样可以跟踪文件删除。
    git commit -m "这是一段注释",将暂存区中的所有提交到仓库中,并写上一段注释。

    说明:

    1. 使用git add 你的文件名,可以更精细的选择要跟踪的文件。
    2. git只能跟踪文件,而不能跟踪目录。比如,你新建或者删除一个空目录,git是无法跟踪到这种变化。

    其他命令:
    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 将远程仓库最新的内容抓取到本地

    回到你的宿舍,如果你的宿舍还没有与远程仓库关联,请clone下来(参考步骤3.2)
    如果你曾经关联过,比如关联后的本地仓库在电脑中的d: empdormJavaLearn
    后来在实验室,你还往仓库中添加了Test.java。并使用git push origin master将Test.java上传到服务器上,
    你在宿舍怎么下载这个Test.java呢?
    可以使用git pull或者git pull origin master。如图,可以看到Test.java已经被下载到本地。

    可能存在的问题:pull时如果从服务器上下载下来Test.java文件和你本机上的Test.java有冲突,可能导致合并不成功。
    可解决冲突后,重新合并。详见参考资料

    Git 使用常见问题
    如何处理冲突

    总结:

    1.初次克隆仓库,从未配置过的Git

    git config --global user.name "你的名字"
    git config --global user.email "你在git远程仓库注册的Email"
    
    git clone 你的git远程仓库的地址
    //然后在相应目录进行了修改、添加、删除等操作
    
    git add .
    git commit -m "这是一段用于说明提交的信息"
    
    git push origin master
    
    

    2. 曾经克隆过仓库,也配置过Git,现在需要把远程仓库的内容抓到本地

    git pull
    //然后在相应目录进行了修改、添加、删除等操作
    
    git add .
    git commit -m "这是一段用于说明提交的信息"
    
    git push origin master
    

    其他参考资料

    Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(2)
    使用Eclipse Egit(图形界面)与码云管理你的代码
    Git自助手册

  • 相关阅读:
    Python中的装饰器之@wraps(四)
    python中装饰器之有参装饰器(三)
    python中装饰器之叠加装饰器(二)
    python中装饰器之闭包函数(一)
    python中的命名空间
    函数的嵌套与迭代
    函数对象
    matlab学习checkbox使用
    matlab学习滚动条改变文本数值
    matlab学习GUI可调的界面窗口
  • 原文地址:https://www.cnblogs.com/zhrb/p/6286615.html
Copyright © 2011-2022 走看看