GIT及其部分指令介绍(下)

    xiaoxiao2022-06-28  34

    前言:前一节介绍了git如何创建仓库,并与远程仓库进行推送,这章的目的是介绍如何管理(修改与删除)git仓库内容,以及介绍分支的概念。


    GIT文件管理:

    1.查看版本

    使用commit指令后,文件从暂存区提交到了分支,并生成了一个版本库。 版本库:类似于游戏存档,commit一次后产生一个新的版本。同样我们可以退回之前的版本(存档点)。 查看版本及历史记录(git log指令)

    commit黄字后面的字符串是版本号; merge指的是改版本与merge提示的版本合并(后面会解释merge); author和date显而易见; 最后那行字是commit指令的提示; 按q退出git log。

    如果觉得git log指令信息太复杂,可以用git log –pretty=oneline指令: 这样版本信息和提示就显而易见了,方便后续操作。


    2.版本回退

    在git中,HEAD表示当前版本(最新版本),而上一个版本是HEAD^,上上个版本是HEAD^^,依次类推。跳转到上100个版本时,显然用^不方便,可以使用HEAD~100替代。 如果要回到某个版本(比如上一个版本),可以使用HEAD^来跳转,也可以使用版本号来跳转。 由图看到上个版本版本号为1eb93fc61……,那么回退到上个版本的方式为:git reset –hard leb93fc;(其中leb93fc为版本号的前几位,也可以用HEAD^代替)。 回退到上一个版本后:


    3.版本回溯

    回退版本后固然可以删除掉之前的修改,但是如果是错误操作,把最新的版本给回退了,git log指令无法找到那个版本,就无法恢复。这时使用git reflog指令进行版本回溯查看。

    使用git reset指令回退版本前,最新的版本是3239cee,而回退后,最新的版本是1eb93fc, 使用git log查看版本时如下图第1步; 使用git relog查看是如第1、2、3步: 使用git reflog找到被回退的版本号后,再使用git reset指令便可回溯。


    文件删除与还原:

    删除文件指令: git rm 文件名;改指令不需要commit,也不会生成新版本,如果想撤回删除,回退到当前版本就行了。

    如果工作区误删了某个文件,或者修改文件的时候对修改不满意想要回溯到之前的样子,用git checkout – 文件名 指令;可以把改文件恢复成最近一个git add 或者 commit 时候的样子。(即用暂存区/当前分支的该文件替换工作区的文件)。


    GIT分支管理:

    1.为什么会出现分支?

    git一般用于合作开发项目了,而git的主干分支叫:master。如果在合作的过程中,每个人都在master分支commit自己的部分,甚至有的人直接把自己的git仓库覆盖远程公共仓库的master分支,那么最终该分支会变的乱七八糟不好整理。 所以master分支一般是由项目负责人来负责,而其他人则创建自己的分支来上传和修改文件。 创建分支:git branch 分支名; 切换分支:git checkout 分支名; 创建并切换到分支:git checkout -b 分支名; 创建远程分支只要push本地分支:git push origin 分支名; 查看本地分支:git branch; 查看远程分支:git branch -a。


    2.分支合并

    分支被创建时,分支内容和master分支一样。用户在自己的分支上修改文件,然后上传到远程仓库分支。管理员则通过分支合并,把用户分支的修改内容合并到master分支上。 合并指定分支到当前分支:git merge 指定的分支名。


    3.冲突

    当master分支和要合并的分支都在某处(这里以readme.txt为例)有修改时,merge会造成冲突: merge后会提示: 使用git status能显示发生冲突的文件。 此时readme.txt变为: Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,需要自己在工作区做出修改,然后再add以及commit。


    4.本地获取远程仓库更新内容

    使用git fetch指令能够下载远程仓库的更新,比如下载别人新建的分支到本地等; 如果只想取回特定分支的更新,可以指定分支名:git fetch origin 分支名。

    小结:

    1.指令集合:

    查看历史版本:git log 查看精简历史版本:git log --pretty=oneline 回退到某个版本:git reset --hard 版本号/HEAD 查看历史版本(包括回退前的版本):git reflog 删除文件:git rm 文件名 工作区文件回溯到最近一次add/commit时:git checkout -- 文件名 创建分支:git branch 分支名 切换分支:git checkout 分支名 创建并切换到分支:git checkout -b 分支名 创建远程分支:git push origin 本地分支名 查看本地分支:git branch 查看远程分支:git branch -a 合并指定分支到当前分支:git merge 指定的分支名 本地获取远程仓库更新内容:git fetch 本地获取指定远程仓库更新:git fetch origin 分支名

    2.总结: 文章(上、下)介绍了GIT的作用以及基本的工作指令,欢迎大家提问。 博主功力浅薄,若有错误还请纠正。

    转载请注明原文地址: https://ju.6miu.com/read-1124183.html

    最新回复(0)