一直没有用过版本管理工具,原因就是我做的项目基本都是我一个人开发,根本就不需要这玩意儿,最近新换了公司,由于是多人协作开发,使用的是 SVN 版本控制,用起来还是比较方便,在 Github 使用了很多开源项目,很惭愧却一直没有提交过代码,也该为开源贡献一点力量了。
从Github 克隆代码到本地是比较简单的,只需要安装 Git 客户端,使用命令行定位到某个文件夹,然后使用下面的代码即可:
- git clone https://github.com/wenjiangs/lampCustomized
后面的网址是 Github 网站的仓库地址,也就是某个项目的网址,也可以是 Git 协议的地址
代码执行完毕以后,仓库里面你的所有文件都复制到了你的本地,你可以修改、添加任意的文件。
这里以我们自己的仓库为例,因为是别人的仓库的话,你提交代码以后还要合并主分子,有跟多的操作以后再介绍吧。
加入你已经修改完成了,所有的BUG、功能添加完毕了,那么此时你应该提交你的代码到 Github 仓库,以便其他人可以查阅和下载使用。
首先通过命令行进入到该项目的目录中:
1、查看本地分支状态
- git status
2、将改动的地方添加到版本管理器
- git add .
3、提交到本地的版本控制库里,引号里面是你对本次提交的说明信息
- git commit -m "some changes"
4、将你本地的仓库提交到你的 Github 账号里,此时需要你输入你的 Github 的账号和密码,你输入就是了,为了方便你是可以使用证书的方式验证你的账号,具体方法请百度。
- git push -u origin master
经过上面的步骤,你的代码就提交到 Github 仓库了。
当你在其他地方修改了代码,并且通过上面的方式提交到了 Github 仓库,然后再另一台电脑上你就需要更新本地的代码。
1、查看远程地址
- $ git remote -v
- origin https://github.com/wenjiangs/lampCustomized.git (fetch)
- origin https://github.com/wenjiangs/lampCustomized.git (push)
-
2、fetch命令拉取远程仓库主分支,并且拉到本地temp作为暂存分支
- $ git fetch origin master:temp
- From https://github.com/wenjiangs/lampCustomized
- * [new branch] master -> temp
-
3、查看当前指针指向的是哪个分支,* 代表当前分支
- $ git branch
- * master
- temp
-
4、merge命令,将远程拉下来的temp分支与本地分支进行合并。
- $ git merge temp
- Merge made by the 'recursive' strategy.
- Chapter1-Array/README.md | 2 +-
- README.md | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
5、版本合并统一后,push 远程仓库代码,可以看到下面因为 https 协议,所以又让输了一遍用户名和密码
- $ git push origin master
- fatal: HttpRequestException encountered.
- 发送请求时出错。
- Username for 'https://github.com': xxxxxxx@xxx.xxxx
- Password for 'https://xxxxxxxx@xxxx.xxx@github.com':
- Counting objects: 46, done.
- Delta compression using up to 4 threads.
- Compressing objects: 100% (31/31), done.
- Writing objects: 100% (46/46), 6.11 KiB | 782.00 KiB/s, done.
- Total 46 (delta 10), reused 0 (delta 0)
- remote: Resolving deltas: 100% (10/10), completed with 5 local objects.
- To https://github.com/wenjiangs/lampCustomized.git
- 7d407f3..6e6ede9 master -> master
-
6、删除暂存分支即可。
- $ git branch -d temp
- Deleted branch temp (was 7d407f3).
-
7、再次查看本地分支,已经删除,操作完毕。
- $ git branch
- * master
-
总的来说以上7步,代码合并时不冲突就没有问题。