git学习(1)---基本操作

一、目的

        本文将介绍git的基本操作,包括基本配置、新建和修改文件、删除和重命名文件、提交和恢复操作、比较文件差异、查看日志等内容。
        本文涉及到的所有操作都是在Ubuntu14.04环境中进行的,git版本是1.9.1。


二、git安装和配置

        在shell下使用sudo apt-get install git命令安装git软件;安装完成后,使用git init命令初始化本地仓库或者使用git clone克隆远程仓库。
        git在使用前需要进行简单的配置,经常使用的命令是:
        配置全局用户名:git config –global user.name “username”
        配置全局用户邮件地址:git config –global user.email “emailAddress”


三、git的三个目录

        在学习使用git之前,需要先理解git环境下三个目录的概念:work directory(工作目录),staged(暂存区),repository(本地仓库)。
        工作目录是用户当前正在工作的目录,在工作目录下用户可以进行新建文件、修改文件、删除文件、重命名文件等操作;然后,把这些修改提交到暂存区中;最后,使用git commit命令把暂存区中的修改提交到本地仓库。
        git相比于其他配置工具多了一个暂存区的概念。


四、新建和修改文件    

        首先介绍git环境下新建和修改文件的操作,这也是经常使用的操作。

        当用户新建或修改一个文件后,首先使用git add <file>命令将新建或修改的文件增加到暂存区中,然后使用git commit -m “comment”命令将暂存区中的文件提交到本地仓库中。

        同时,用户也可以撤销这些命令,使用git reset HEAD <file>命令将本地仓库中的文件替换到暂存区中,使用git checkout – <file>命令将暂存区中的文件替换到工作目录中。

git学习(1)---基本操作_第1张图片


五、删除和重命名文件

        当用户删除或重命名一个文件时,可以使用git rm <file>命令或git mv <file>命令将文件从工作目录和暂存区中删除或重命名。

        同时,用户也可以撤销这些命令,使用git reset HEAD <file>命令将本地仓库中的文件替换到暂存区中,使用git checkout – <file>命令将暂存区中的文件替换到工作目录中。

git学习(1)---基本操作_第2张图片

        从图中可以看出,首先使用git rm <file>命令将工作目录和暂存区中的文件同时删除;然后使用git reset HEAD <file>命令恢复了之前删除的暂存区中的文件;紧接着使用git checkout – <file>命令恢复了之前删除的工作目录的文件。


六、本地提交

        可以使用git reset –soft <commit>命令将用户本地仓库的提交回退到指定的commit

        可以使用git reset <commit>命令将用户暂存区和本地仓库回退到指定的commit

        可以使用git reset –hard <commit>命令将用户工作目录、暂存区和本地仓库回退到指定的commit

        记住一个技巧,如果只是回退到上一次提交,那么可以使用HEAD^代替commit,这样就不用每次都使用git log查询commit值了。git学习(1)---基本操作_第3张图片


七、文件比较

        可以使用git diff命令比较工作目录和暂存区之间的文件差异;使用git diff --cached命令比较暂存区和本地仓库之间的文件差异;使用git diff HEAD命令比较工作目录和本地仓库之间的文件差异。



八、状态和日志

        使用git status命令可以查看工作目录各个文件当前所处的状态,并且会提示用户下一步操作所需的命令。
        使用git log命令可以查看用户已经提交到本地仓库的日志信息,使用git log -2命令可以查看最近的2次日志信息;使用git log –oneline可以查看简短的日志信息。


九、全景图

        最后,给出这些常用命令的全景图,便于理解这些命令的含义。



十、总结

        本文给出了git工具常用的新建和修改文件、删除和重命名文件、提交和恢复操作、文件比较、状态查询和日志信息命令。结合最后给出的全景图,便于记忆和正确掌握这些命令的使用。


版权声明:

        原创作品,如非商业性转载,请注明出处;如商业性转载出版,请与作者联系。

你可能感兴趣的:(linux,log,git,git,git,git,reset,diff)