美文网首页
SourceTree(Git)

SourceTree(Git)

作者: _狸约约 | 来源:发表于2017-12-23 13:00 被阅读0次

    超前一个版本,落后N个版本

    首先打开终端, 然后输入(非常不建议使用):
    $ git reset --hard HEAD^
    这句话的意思是将自己最近的一次提交撤销,回到push之前的状态。但是所有commit的内容就都消失了。

    如果不想让commit消失,可以改一下参数。用这个参数可以保证你提交的代码原封不动的保存下来。前提是你本地的工作台是干净的。如果不是请把所有代码都暂存。
    $ git reset --soft HEAD^
    执行这句话之后重新拉取一遍代码就可以了,push的都会撤销回来。

    如果想一次回退多个push,可以这样:(例子是撤销最近三次的提交)
    $ git reset --soft HEAD~3

    如果想回退到某个指定版本,在终端中输入:
    $ git reset --soft 1234567
    1234567是要回退到的版本号,根据具体情况而定,这里只是举例子。
    版本号可以不写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

    不识别新添加的文件

    工作目录中,新建一个文件,比如一个.h和.m文件。
    但是,git无法识别这些文件。
    用git status命令,返回目录是clean的。表明没有任何修改。说明git没有识别到这些新增加的文件。也说明这个问题是git内部的问题,跟用什么版本控制工具没关系(不是sourcetree的锅)
    首先,找到了原因,那么强制给他加一下,用终端到文件目录下,然后输入:
    $ git add 1.m
    返回无法添加,说1.m已经处于.gitignore中。但是iganore中明明没有忽略这些m文件。
    那就更狠一点,输入
    $ git add -f 1.m
    这样就可以将1.m添加到git的版本控制中。如果直接git add -f 1.m 报错,无法找到文件1.m,那么就将1.m的完整路径输入即可。
    建议先看一下全局忽略列表里有没有。

    相关文章

      网友评论

          本文标题:SourceTree(Git)

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