美文网首页程序员
git在日常工作中几种常见的使用情况

git在日常工作中几种常见的使用情况

作者: 澳利澳先生 | 来源:发表于2017-12-01 17:24 被阅读0次

1、暂存某个文件(从工作区添加到缓存区):commit之前

对于修改的,删除的,新增的都是使用命令:git add

单个文件的添加: git add 添加到暂存区。

批量文件的添加:如果要一次添加所有(修改的,删除的,新增的)文件:git add --all或者git add -A命令;


2、撤销未提交修改(未暂存或暂存的):commit之前

(一)、对于工作区的文件,即还未暂存的,如果已经对某个文件(如example.cpp)进行了很多处的修改,后来发现不用修改想撤销当前所有的修改,如果手动在文件中通过Ctrl+Z或者直接改回去都很麻烦且容易漏掉,如果想直接保持和git远程中提交版本一致,这时就只需要执行如下命令:

        git checkout -- path/example.cpp       //注意:该命令只对unstaged changes(未暂存)(工作区)的文件起作用。

        不能直接使用:git checkout命令,后面后面必须接参数。所以只能一个一个的撤销。

        这样就可以把对example.cpp的未提交的修改,撤销了。example.cpp的版本就和远程库中一样,或者和本地上次提交的一致了。

*(二)、对于缓存区的文件,即是已经暂存了的文件(staged changes),需要先把它从暂存区迁移到工作区,使用命令如下:

        git reset HEAD path/example.cpp      //注意:该命令只对staged changes(暂存区)的文件起作用。

        后面不接文件路径:git reset HEAD      //表示把整个暂存区的所有文件变成未暂存状态(工作区),对所有文件都起作用,如果是新文件也会重新编程未跟踪状态。

然后,可以继续使用上面第一点的命令撤销修改。

*(三)、对于有很多文件的情况,想一次性全部撤销所有修改。

        首先,用git add --all命令把所有文件添加到暂存区。

        然后,用git reset --hard HEAD命令直接把所有文件从暂存区直接丢弃撤销掉。

        这样就可以批量撤销所有文件的修改了,而不用git checkout -- 一个一个文件的去撤销了。


3、提交文件(commit):push之前

一般使用方式是:git commit -m "此次提交的说明注释"。// 该命令只提交暂存区的内容。

如果想跳过git add 命令,直接从未暂存区内开始提交所有文件(新增的文件除外),可以使用命令:

git commit -a -m "提交说明"        // 对工作区的所有修改的、删除的文件直接提交。


4、撤销的已经提交的文件:push之前

页分两种情况:

(一)、一种是撤销到暂存区:

        git reset --soft HEAD^://把最后一次提交(还没push)撤销掉,并直接把该次提交的文件改成到暂存状态。

(二)、一种是直接撤销修改:

        git reset --hard HEAD^ : //这会把最后一次提交(还没push)直接撤销掉,并且会直接丢弃这些文件的修改。

所以:注意:一般最好不要随便使用--hard选项。

(三)、这种是直接撤销掉并创建一次新的提交,只待push:

        git revert HEAD : //这会把最后一次提交(还没push)直接撤销并自动创建了一次新的提交但还没push。


5、推送(push)到远程更新文件:一次完整的更新结束。

一般常用的方式是: 直接git push就行了。前提条件是:指定了默认主机,并且当前分支和远程分支存在追踪关系。

git push命令的完整形式是:git push<远程主机名> <本地分支名>:<远程分支名>

表示把本地的某个分支推送到指定的远程主机上的某个远程分支上。

如:git push origin local_master:master        //表示把本地的local_master分支推送到远程orgin主机上的master分支上。

其实不用这么麻烦,有几种省略方式:

    git push origin ://当前分支与远程分支存在追踪关系,表示直接把当前分支推送到远程orgin主机的对应分支上。

    git push origin :remote_dev    :// 推送一个空的本地分支到远程的remote_dev分支上,表示删除这个远程分支。等同于:git push origin --delete remote_dev

    git push -u origin master ://当把本地仓库和远程仓库关联后第一次推送时要用这个命令。


6、撤销已经push了的文件:

也分两种情况:使用的是revert命令:它的实质是把某次push再反向写回去,并创建了一个新的提交。

(一)、直接撤销并自动创建一次新的提交,等待push :

            git revert HEAD://撤销最后一次push.

            git revert commit_ish  :// 撤销具体某一次push. commit_ish是某次提交的hash码。

(二)、直接撤销到暂存区,可重新修改再commit:

            git revert -n HEAD ://撤销最后一次提交push.

            git revert –n commit-ish  : //撤销某次完整提交(指已经push了的),并且不会自动生成一个新的回滚提交,而是把这次提交回退到暂存状态,可以重新修改后再提交。


7、关于git检测大小写的问题。

git默认是大小写不敏感的,所以当你把某个文件夹或文件名改变了大小写时,git是识别不出来的。

怎样让git识别大小写呢? 可使用命令:git config core.ignorecase false

改命令需在特定的仓库的git bash下使用。


8、To be continue.....

相关文章

  • git在日常工作中几种常见的使用情况

    1、暂存某个文件(从工作区添加到缓存区):commit之前 对于修改的,删除的,新增的都是使用命令:git add...

  • TLS/SSL抓包常见方法(二)

    概述 在TLS/SSL抓包常见方法(一)中介绍了几种抓包的方式,除了这些方式之后,在日常工作中经常使用的是MITM...

  • Git快速入门

    虽然日常工作中经常使用git,但是在面对一些特殊情况时仍会捉襟见肘。在这里整理一些常见操作和常见问题。对于更详细的...

  • 常见的几种加密方法

    常见的几种加密方法和实 常见的几种加密方法 : git demo下载 csdn demo下载 MD5 SHA1 R...

  • git回滚技巧

    背景 在我们工作中,git分支分为master,dev,feature_xxx,temp_xxx_yyy几种分支。...

  • 聊聊移动客户端开发中的git工作流

    现在git已经是我们日常开发必备工具,那么在移动客户端的日常开发中,应该怎样去管理git分支呢,是否目前普遍的几种...

  • 【复习向】Git命令行使用

    前言 在之前的工作中,有一年多的时间是和 Git 打交道的。由于本人从事 iOS 开发,在日常工作中,使用 Git...

  • Git常见的几种情况

    1.取消已经暂存的文件     接下来的两个小节将演示如何取消暂存区域中的文件,以及如何取消工作目录中已修改的文件...

  • git 撤销commit 和 误删commit后的恢复方法

    在日常工作中,我们经常会遇到这样一种情况,无脑 git add . ,git commit -m'xxx' ,gi...

  • Git 基本应用

    本文用来整理记录日常工作中经常使用到的 Git 命令,方便日常查询使用。关于 Git 诞生的历史及相关内部原理本文...

网友评论

    本文标题:git在日常工作中几种常见的使用情况

    本文链接:https://www.haomeiwen.com/subject/urmwbxtx.html