Windows环境下Git环境的搭建

 

书看了一段时间,是时候开始维护自己的个人资料了。正所谓工欲善其事必先利其器,开发先从环境搭建开始。而环境搭建先从自己的GitHub账号搞起。

首先,任何Git初学者应该先看一下廖雪峰老师的教程,这点非常重要!!!

1.先去官网下载一个Git for Windows的安装包,安装完成。

2.开始菜单打开Git Base,设置一下你的用户名和email

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

3.创建你的ssh秘钥,成功之后在我的系统用户文件夹下出现.ssh文件夹,里面有两个文件

$ ssh-keygen -t rsa -C "youremail@example.com"

现在从你的GitHub账号登陆后右上角图标点击后的settings进入用户设置->SSH and GPG keys->New SSH key。title随便填,下面的把刚才生成的id_rsa.pub用记事本打开把内容贴进去,提交。完成之后:

Windows环境下Git环境的搭建

4.创建一个与GitHub关联的代码仓库。这里我要在D:/workspace下创建一个叫webdemo的工程,在git base中输入

cd D:/
cd workspace

然后在GitHub中创建一个也叫webdemo的仓库,记得把这里√上,这样会初始化一个README.md

Windows环境下Git环境的搭建

现在本地仓库克隆GitHub上的远程仓库,第一次要验证RSA认证,输入yes,然后本地出现webdemo文件夹里面有README.md文件。

$ git clone git@github.com:GrayWind33/webdemo.git

 5.尝试使用git push提交你的修改

现在我在文件夹下添加一个test.txt,然后在git base中输入

$ git add -A
$ git commit -m 'add test.txt'
$ git push origin master

第一行添加文件,第二行是添加修改描述,第三行上传文件至远程仓库。

这里是直接上传文件到远程仓库的master分支,必须是ssh key在账户设置中的本地仓库才能上传否则是没有权限的。

Windows环境下Git环境的搭建

可以看到GitHub的代码仓库已经多了一个文件了。

6.创建新的分支与合并

这里的提交是直接把代码上传覆盖了主分支,随之而来的问题是,GitHub只起到了保存代码的作用,没有起到管理的作用。现实状态下我可能需要暂时提交未全部完成的代码,或者我不确定这次的开发部分是否正确,要是这部分直接合并上去,我的主分支就不能正常运行了,更加不便于版本管理。以工作中的开发来说,我需要保证主分支上是可以生产发布的正式版本,同时我应该有开发版本,ST测试版本等多个版本。这些不同的版本可以认为就是分支。当我确认当前的工程足以交付之后,我再把最新的分支合并至主分支进行发布。另一点来说,如果我想要发起或参与一个多人项目,显然我不能把master的权限给所有人,仅有管理员可以直接管理主分支才是正确的。

 现在我创建一个新的分支dev,并切换到该分支上。通过git branch可以查看所有分支,通过git checkout 分支名可以切换到该分支上。

$ git checkout -b dev

现在作为测试,我把test.txt给删除掉,然后提交修改至dev分支

$ git add -A
$ git commit -m 'add new branch,and delete test.txt'
$ git push origin dev

现在看GitHub上出现了一个新的分支

Windows环境下Git环境的搭建

尝试切换到dev分支,发现test.txt没有了而master分支仍然存在。

Windows环境下Git环境的搭建Windows环境下Git环境的搭建

现在从dev分支上发起一个new pull request,输入些说明后,点击create pull request。

Windows环境下Git环境的搭建

现在管理员也就是我的账号可以看到pull request,我选择合并之后master分支上的test.txt文件就被删除了,两个分支合并完成。当然,我发现这次开发部分问题太大要从头来过,我自然是不会合并,从主分支新建一个分支从新开发再提交。

Windows环境下Git环境的搭建

7.已有工程关联远程仓库

已一个Java工程来说,通常的顺序是先建立Java工程,再上传到GitHub。反过来通常是不行的,因为eclipse的初始化工程会报错。那么,现在我已经建立完webdemo这个Java工程,然后也在GitHub建立了相应的repository。按照以下步骤进行关联:

$ git remote add origin git@github.com:GrayWind33/webdemo.git
$ git pull origin master

现在就可以像之前一样进行pull和push操作了

8.添加.gitignore文件

对于一个J2EE工程来说,我们最关心的是java源码、xml文件等,对于编译产生的.class文件、target目录下文件可以通过自动构建生成,为了避免编译环境不同造成的问题以及减少代码传输量,我们需要设置某些类型的文件不传输到GitHub上。

$ touch .gitignore

此时目录下产生.gitignore文件,编辑它,参考配置如下:

# Lines that start with '#' are comments.
# IntelliJ IDEA Project files
.idea
*.iml
*.ipr
*.iws
out

# Eclipse Project files
.classpath
.project
.settings/

bin/
gen/
target/
local.properties

.DS_Store
Thumbs.db

*.bak
*.tem
*.temp
#.swp
*.*~
~*.*

总结一下,我们现在学习了如何从头开始安装并搭建一个Git仓库,以及如何新建分支、提交修改、发起合并请求、合并代码。其余版本回退,冲突解决等一些问题下次有机会再补充。现在,可以开启新的代码之旅了!

 

个人GitHub地址: https://github.com/GrayWind33
上一篇:Java StringBuffer StringBuilder类源码解析


下一篇:maven搭建webapp开发环境