几个基本概念
本地仓库: 本机上某个存放代码的仓库。
远程仓库: 码云服务器上的代码仓库。
重要提醒: 当我们在本地操作(新增、删除、修改)文件、目录时,并将其提交(commit),就是提交到了本地仓库。注意:所有的改动只是放到了本地仓库,并没有上传到服务器的远程仓库。
怎么将本地仓库与远程仓库关联起来呢?
需先将本地仓库与远程仓库关联起来,就可将本地仓库中的对代码的改动上传到(push)远程仓库,也可从远程仓库将对代码的代码改动下载(pull)下来。
公司和家里:
-
git全局配置,在家里将某个目录git init成本地仓库,然后关联到码云服务器上的远程仓库
-
git init touch README.md git add README.md #代码放到本地仓库 git commit -m "first commit" #添加注释 git remote add origin 网址 #关联码云 git push -u origin master #把本地仓库Push
-
-
在公司,把码云上面的远程仓库克隆(clone)到电脑上的本地仓库(所以也需要新建一个文件夹,git init)这样就实现了上传和下载远程代码
1.码云上申请账号并建立项目
此处去码云上面新建项目,会有详细说明,此处略去
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 编写代码并提交到本地仓库
git add . #把所有改动都提交到本地仓库。
git commit -m "这是一段注释" #对提交的操作做一个解释
##说明
1. 使用git add 你的文件名,可以更精细的选择要跟踪的文件。
2. git只能跟踪文件,而不能跟踪目录。比如,你新建或者删除一个空目录,git是无法跟踪到这种变化。
##其他命令
git log,查看提交记录。其中commit 504d11....f365e是提交的id。
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 将远程仓库最新的内容抓取到本地
从码云服务端把代码拉到本地,可以使用git pull
或者git pull origin master
可能存在的问题:pull时如果从服务器上下载下来Test.java文件和你本机上的Test.java有冲突,可能导致合并不成功。
可解决冲突后,重新合并。详见参考资料
总结:
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