GIT

2021年7月20日

  • git add

  • git commit -m "我是说明"

  • git status :查看当前状态,状态大概分为三种

    • 有文件被修改了,但是没有准备提交修改(没有add添加)
    On branch master
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
    	modified:   readme.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    • add了文件,但是没有commit
    On branch master
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
    	modified:   readme.txt
    
    • 没有要提交的修改,工作目录是干净(working tree clean)的。
    On branch master
    nothing to commit, working tree clean
    
  • git diff :查看修改的内容

  • git分支的理解

  • git log (--pretty=oneline) :查看历史commit记录, 16进制数为commit的id,在版本回退中可以只输入4位数,git会自动寻找对应的唯一id(commit多的时候需要输入更长)。

    commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
    Author: Michael Liao <askxuefeng@gmail.com>
    Date:   Fri May 18 21:06:15 2018 +0800
    
    append GPL
    
  • git reset --hard HEAD^ :将版本回退到HEAD(表示当前版本)指向的当前版本的上一个版本,还原后会删除git log中HEAD的记录,但可以在git reflog中找到对应commit的id!
    HEAD is now at e475afc add distributed

  • git reflog :查看命令历史,可以用于寻找历史中被reset掉了的commit的id。
    [图片]image

  • .23版本方法更新!工具系列 | git checkout 可替换命令 git switch 和 git restore

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git restore <file>

  • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git restore --staged <file>,就回到了场景1,第二步按场景1操作。

  • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

  • 从暂存区恢复工作区,
    
    git resotre --worktree readme.txt
    
    从master恢复暂存区 
    
    git restore --staged readme.txt
    
    从master同时恢复工作区和暂存区
    
    git restore --source=HEAD --staged --worktree readme.txt
    
  • 先手动删除(rm )文件,然后使用git rm 和git rm 效果是一样的。

  • SSH远程更新仓库时,发现22号端口出问题,官方介绍,以及 Stackoverflow的解决办法

原文地址:https://www.cnblogs.com/xytgo/p/15033899.html