[名企面试知识点][java]git命令使用
发布于 2017-02-23 14:15 2094 次浏览 0 赞 来自 笔试面试  

Commit(提交): 点击会出现如下界面,commit message输入你提交的信息,一般是做了什么修改和工作,项目所有者和提交者会自动生成。下面Files选择哪些你做了修改的文件进行提交(这里注意你的.gitigonre文件的配置,没有的话新建一个加入相应的过滤规则,一般来说.class文件是不用提交的,否则别人提交就会有冲突)。最后Commit and push 是把你这次提交到本地仓库同时推送到服务器上的仓库中,而Commit是将本地修改保存到本地仓库中。

stashes(储藏): 举个例,今天测试发现我昨天提交代码中有bug,然而我今天来后又做了些新功能,测试又让我马上修复bug,没办法只能改为去修复bug。那么stashes命令就派上用处了,它会把今天做的工作储藏到缓冲区,把工作目录和索引里的内容恢复到上次提交的状态,接下来我就可以修改bug了。修改完成后我把项目再提交一个版本给测试,然后我再找到我stashes的相应节点恢复我的工作目录,继续写我今天的东西。

push to Upstream(推送到远程分支): 先说明下upstream是什么,举个例,我在本地仓库中新建了一个分支a,把代码推送到远程仓库的分支b,那么分支b就是分支a的 upstream,反之分支a是分支b的downstream。

Fetch from Upstream(拉取远程仓库分支到本地): upstream上面说了,我们来说说fetch和pull的区别,都是从远程仓库拉取,fetch直接获取最新版本不做合并,而pull是获取最新版本并合并到本地。简单的说就是 pull = fetch + merge 。

push branch 'master'(推送到master分支): 在 Git 的实现中每次提交都会保存一个提交对象,该对象包含0个或多个(第一次提交没有父对象)指向该对象的父对象指针,包含一个指向暂存内容的指针和本次提交的作者、时间等相关附属信息。Git会使用master作为分支的默认名称。

Pull(拉取远程仓库分支到本地并与本地分支合并): 建议少用 Pull 多用 Fetch 和 Merge,pull把很多细节都隐藏起来了,不利于理解结构同时一旦出错也不容易找到出错的地方。

Remote/Push(推送到远程代码库): remote命令用于管理远程主机, Tag指某个分支某个时间的特定状态,一般用于标记版本号。下面两个在远程代码库地址改变时需要配置。

merge(合并): 将其他分支的内容合并到当前分支中。

rebase(修改合并): 将一个分支修改合并到当前分支。这里说一下merge和rebase的区别:merge是直接合并分支,如果有冲突,完成后在一并解决。 rebase则是按时间线依次合并,如果产生冲突,会提示你进行处理,处理好了可以continue直到rebase完成,如果冲突处理不好可以放弃rebase或skip。

Reset (回溯):可以将当前分支切换到本分支以前的任何一个版本状态。

patch(补丁): 生成文件的对比信息,可以通过diff(apply)生成的标准patch,或使用format-patch生成的git专用patch。

Index(暂存区): 是一个包含文件索引的目录树,记录了一些文件的信息,如文件名、状态、时间戳、长度等。当解决完git冲突时要把文件 add to index


添加回复
回到顶部