本文要点:从项目代码的clone到内容修改、提交和远程推送等展开,力争详细讲解Git在日常开发中的常用命令。
假定我们的项目使用gitlab来托管代码,那么我们才能使用Git进行版本管理。
1.第一阶段
使用 git clone xxx.git 将版本库的代码克隆至本地的某个路径,该路径将作为本地的仓库路径。
接下来,一般是将项目导入IDE开发工具,如IDEA,Eclipse等。等待Jar依赖加载完成,即可正式进入编程开发阶段。
2.第二阶段
在相关功能模块的代码编码完成以及本地跑通Junit Tests之后,我们就需要提交代码并推送至远程仓库。
2.1 使用 git add fileName 将指定的文件加入暂存区。
当然,为了解决文件加入暂存区效率低的问题,我们可以使用 git add . 将当前工作路径下所有存在修改的文件一次性加入暂存区。这里必须赞一个。
2.2 加入暂存区之后,一般有两种处理策略。
2.2.1 发现修改有误,想将某个或某些文件从暂存区撤出,这时可以执行 git reset commit_id将提交的文件回退至暂存区。
2.2.2 没有错误,不存在“反悔”念头的话,可以执行 git commit -m "提交说明" 将修改提交至本地版本库。
2.3 执行 git push origin 将本地仓库最新提交推送至远程版本仓库。
这里,再普及一下,有时我们可能会在本地版本库创建新的分支进行开发,编码完成后同样需要推送至远程,当我们git commit完成并接着执行 git push 的时候,可能会遇到下图报错
这时,我们按照提示执行 git push --set-upstream origin branchName 即可。
嗯,以上就是日常开发中git最常用的命令行操作!
接下来,将介绍git的一些辅助性命令行,可别小瞧这些命令,掌握它们可谓如虎添翼呢!
git log => 默认查看最近10条提交记录
git checkout -b branchName => 本地创建新分支 ,如执行 git checkout -b develop,代表创建本地develop分支并且指定切换至develop分支。说到这儿,就不得不说分支切换命令。
git checkout branchName => 如执行 git checkout master,代表切换至master分支。
git status => 查看当前分支工作目录下的文件状态,一般有2种状态:新增文件和文件发生修改变动。还有一种情况:文件存在冲突。
git branch => 查看本地仓库的分支清单
git branch -r => 查看远程仓库的分支清单
git stash list => 查看保留的代码批次清单
说明:保留代码批次的使用情况,部分功能仍在开发阶段,尚且不能提交至远程仓库,但又急于处理issue,这种情况下,就可以直接执行 git stash 即可保存代码现场(可近似理解成将当前分支下的修改存档隐藏起来,后续再恢复),git stash 相当于 git stash save "最近一次提交记录的说明内容"。
git stash save "存档说明" => 保留代码现场且附带描述性说明文字。
git stash pop => 将最近一次的代码现场恢复还原至本地版本库。并且从代码线程清单中清除,即执行 git stash list 后将不再能看到此批次的代码现场保留内容。
git stash drop stash@{1,2,3,...n} => 删除指定批次的代码现场内容。如执行 git stash drop stash@{0} 删除最近的一次代码现场内容。