• Git常用功能记录


    1. git查看某个文件的修改历史

    git log --pretty

    然后使用下面的命令可列出文件的所有改动历史,注意,这里着眼于具体的一个文件,而不是git库,如果是库,那改动可多了去了~

    git log --pretty=oneline 文件名

    如:

    复制代码
    root@ubuntu:android_src/packages/apps/Mms/src/com/android/mms/ui# git log --pretty=oneline MessageItem.java 
    27209385caf678abe878375a470f4edd67a2d806 fix to process force close when empty address contained in card
    0e04b16f1dad7dc0a36e2235f7337bc656c365c7 display for 1970-1-1
    e4abf3a213197491e0855e101117b59b5dc0160d HREF#13954 receive, store, and display wap push
    356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e HREF#16265_uim_show_time_error
    350f9d34c35ab50bdb4b2d43fb3ff9780e6c73fa fix xxxx
    715e32f97bd9d8ce4b5ba650b97ba4b137150456 Fix ANR from calling Contact.get()
    fd8357ff5febab0141e1beb8dd3b26f70416b108 Fix missing From field
    复制代码

    二、git show

    如上所示,打印出来的就是针对文件MessageItem.java的所有的改动历史,每一行最前面的那一长串数字就是每次提交形成的哈希值,接下来使用git show即可显示具体的某次的改动的修改~

    git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e

    结果如下:

    复制代码
    root@ubuntu:/android_src/packages/apps/Mms/src/com/android/mms/ui# git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e
    commit 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e
    Author: 某某某 <某某某的邮箱>
    Date:   Thu Jan 6 01:50:31 2011 +0800
    
        修改的描述(是该代码commit时所填)
        
        Signed-off-by: 某某某 <某某某的邮箱>
    
    diff --git a/src/com/android/mms/ui/MessageItem.java b/src/com/android/mms/ui/MessageItem.java
    index 0a0c4b7..55c3b27 100644
    --- a/src/com/android/mms/ui/MessageItem.java
    +++ b/src/com/android/mms/ui/MessageItem.java
    +
    + 列出具体的改动
    -
    -
    复制代码

    这样就可以知道是谁做了修改,以及具体的修改代码~

    那接下来不管是直接去找他交流还是研究代码,都有依据了~

    补充:

    我看到的更好的方法。
    1. git log filename
    可以看到fileName相关的commit记录
    2. git log -p filename
    可以显示每次提交的diff
    3. 只看某次提交中的某个文件变化,可以直接加上fileName
    git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

    2. 用git如何把单个文件回退到某一版本

    暂定此文件为a.jsp

    1.首先到a.jsp所在目录:

    通过 git  log a.jsp

    查看a.jsp的更改记录

    2.找到想要回退的版本号:例如 fcd2093

    通过 git reset  fcd2093 a.jsp

    把文件回退

    3.提交本次回退

    git commit -m "注释内容"

    4.选中该文件

    git checkout a.jsp

    5.push到远程目录

    git push origin branch   例如 : git push origin bugfix/req-910

    3. git reset --hard 之 git版本回退

    1.假设有2个提交记录

    commit def5adef853da4cc05752bdb36577c127be71ba5
    Author: 132982jianan <1072772483@qq.com>

    Date:   Thu Dec 28 16:01:36 2017 +0800


        add data to 1.txt

    commit f36801544670e00b2f59a28e19017d2786c4085e
    Author: 132982jianan <1072772483@qq.com>

    Date:   Thu Dec 28 15:59:46 2017 +0800


        init 1.txt
    (END)

    2.现在回到最开始的那一个提交
    git reset --hard f36801544670e00b2f59a28e19017d2786c4085e

    3.查看日志,就会发现只剩下一个提交了
    git log

    commit f36801544670e00b2f59a28e19017d2786c4085e
    Author: 132982jianan <1072772483@qq.com>
    Date:   Thu Dec 28 15:59:46 2017 +0800

        init 1.txt
    (END)


    4.这个时候,发现回退版本错了,那么就用git reflog查看提交记录
    git reflog

    f368015 HEAD@{0}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
    def5ade HEAD@{1}: reset: moving to def5ade
    f368015 HEAD@{2}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
    def5ade HEAD@{3}: commit: add data to 1.txt
    f368015 HEAD@{4}: commit (initial): init 1.txt


    5.找出想要回退的版本,进行回退
    恢复

    git reset --hard def5ade
    ---------------------

    4 git如何删除已经提交的文件夹

    在上传项目到github时,忘记忽略了某个文件夹.idea,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的.idea文件夹

     

    删除前:

    删除后:

     

    在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决

    首先进入你的master文件夹下, Git Bash Here ,打开命令窗口

    $ git --help                                      # 帮助命令

     

    $ git pull origin master                    # 将远程仓库里面的项目拉下来

    $ dir                                                # 查看有哪些文件夹

    $ git rm -r --cached .idea              # 删除.idea文件夹
    $ git commit -m '删除.idea'        # 提交,添加操作说明

    $ git push -u origin master               # 将本次更改更新到github项目上去


    ---------------------
    作者:皮皮今
    来源:CSDN
    原文:https://blog.csdn.net/weiyoushi4001/article/details/82495364
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    再看到一则有关Anders的……
    arp好烦!123.8w8w8w,自己建了一个内网的nod32升级服务器。
    在看discuz nt 1.0。
    顺便说一下,这边速度好快?
    没什么可说。
    昨天看王建硕的blog,在说《胡适日记》的事。
    c# 深复制 浅复制(转)
    foreach yield
    Array
    JQuery.fn.extend(object) jQuery.extend(object) 转
  • 原文地址:https://www.cnblogs.com/yanzi-meng/p/10785396.html
Copyright © 2020-2023  润新知