首页 理论教育 Java服务端研发:Git基本使用

Java服务端研发:Git基本使用

时间:2023-11-22 理论教育 版权反馈
【摘要】:Git基础环境准备妥当后,需要先从远程仓库克隆项目文件。$git clone git@gitee.com:hwhe/JavaDeveloperMap.git本节使用的远程仓库是通过Oschina创建的,Oschina给出的地址不止一个,还可以用https://gitee.com/hwhe/JavaDeveloperMap.git这样的地址。实际上,Git支持多种协议,默认使用ssh,但也可以使用https等其他协议。Git常用命令如下:■git clone复制一个仓库到本地用git clone复制一个Git仓库到本地,能够查看该项目,或者进行修改。图3-9 Eclipse中的Git菜单

Java服务端研发:Git基本使用

在使用Git之前,有必要了解一下Git的几个重要概念:Git工作区、暂存区和版本库。

■工作区(Working directory):简单地说是在计算机里能看到的目录。

■暂存区(stage):用来暂时存放工作区中修改的内容。

■版本库(Repository):工作区里有一个名为.git的隐藏目录,这个目录不算工作区,而是Git的版本库。

Git基础环境准备妥当后,需要先从远程仓库克隆项目文件。准备好远程仓库,例如git@gitee.com:hwhe/JavaDeveloperMap.git[33],这里打开“Git Bash Here”命令行,用命令git clone克隆一个本地库。

$git clone git@gitee.com:hwhe/JavaDeveloperMap.git

本节使用的远程仓库是通过Oschina创建的,Oschina给出的地址不止一个,还可以用https://gitee.com/hwhe/JavaDeveloperMap.git这样的地址。实际上,Git支持多种协议,默认使用ssh,但也可以使用https等其他协议。区别为https方式每次push都必须输入口令。

Git常用命令如下:

■git clone复制一个仓库到本地

用git clone复制一个Git仓库到本地,能够查看该项目,或者进行修改。

$git clone[url]

■git add添加文件到缓存

$git add test.java

■git status查看当前Git状态,来确定当前是否有修改

$git status

■git commit保存到本地仓库中

git commit是将修改推送到本地仓库中。使用-m选项可以设置提交注释。执行此命令之前,需要先执行git add将修改放入暂存区中。

$git commit-m '本地提交的备注'

■git push推送到远程仓库

git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。

$git push<远程主机名><本地分支名>:<远程分支名>

注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull后面跟<远程分支>:<本地分支>,而git push后面跟<本地分支>:<远程分支>。

如果省略远程分支名,则表示将本地分支推送到与之存在“追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被创建。

$git push origin master(www.xing528.com)

上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被创建。

■git pull同步远程分支到本地

$git pull

如果本地没有配置SSH公钥,则需要根据提示输入用户名和密码才能更新。配置SSH公钥,可以免去输入用户名和密码,具体配置方法在3.2.5节会有详细介绍。

■git reset和revert代码回滚

第一种情况,还没有push,只是在本地commit。

1)找到之前提交的git commit的id信息 $git log

2)找到想要撤销的id,执行git reset命令,完成撤销,同时将代码恢复到commit_id对应的版本。注意:hard参数的作用是使修改的代码也回滚到commit_id的版本。

$git reset--hard<commit_id>

或者

$git reset<commit_id>

不带参数hard,则仅完成commit命令的撤销,不对代码修改进行撤销,可以直接通过git commit重新提交本地修改的代码。git reset常用参数见表3-3。

3-3 git reset常用参数

978-7-111-61011-3-Part01-170.jpg

第二种情况,commit push代码已经更新到远程仓库。

对于已经把代码push到线上仓库,如果回退本地代码也想同时回退线上代码,使线上、线下代码保持一致,需要用到下面的命令:

$git revert<commit_id>

revert之后本地代码会回滚到指定的历史版本,这时再git push即可把线上的代码更新。

git reset是回退到某次提交,提交及之前的commit都会被保留,但是此次之后的修改都会被退回到暂存区;git revert是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留。

当前使用的开发工具Eclipse默认带有Git插件,操作更加便利。例如导入项目,执行“file->import->Git”,根据提示输入对应Git信息,即可完成Git项目导入。

当要提交代码、更新项目时,只需在项目上执行“鼠标右键单击-> Team”操作对应的菜单即可,如图3-9所示。

978-7-111-61011-3-Part01-171.jpg

图3-9 Eclipse中的Git菜单

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈