嵌入式开发之git常用命令

143 阅读2分钟

这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战

  • git status //查看本地各文件的状态;git status -uno 过滤掉未跟踪文件
  • git remote update //将远端代码同步到本地
  • git rebase origin/master //设置当前分支以master作为base
  • git pull = git remote update 与git rebase origin/master,它们的作用是相同的,不同的是:git pull的使中可能较常出现conflict。

git restore与git checkout的区别:

  • git restore与git checkout都是起到将代码回退的效果不同的是:git restore: 将代码从暂存区回退到工作区但是不会覆盖已更改过的内容,即是将代码从暂存区的拿出,例如:git restore --staged "待回退的文件";
  • git chechout :将代码从暂存区中回退到工作区,且修改后的内容不会被保存,例如:git checkout -- "待回退的文件"

git reset --hard 与 git reset --soft的区别: 两种都是将代码从远端的master回退,不同的是:git reset --hard将代码回退到工作区,且修改的内容也会被上一个版本覆盖;git reset --soft是将代码回退到暂存区,且修改的内容还在,只是回退了git commit的信息,若需commit,再次操作即可。

  • git diff // 查看最近add文件在暂存区与工作区之间的不同,即修改之处
  • git diff "commitId" //查看当前工作区的内容与某个commitId处内容的不同,git diff HEAD //查看当前工作区与最新的一次commit的不同。 但如果想比较暂存区与提交后的不同,可以使用:
  • git diff --cache "commitId" //比较当前暂存区与某个commitId之间的不同,git diff --cached HEAD //比较当前暂存区与最新一次commit之间的不同 同理,比较两次commit之间代码的不同:git diff commitId1 commitId2,这里可以使用git log查看代码提交记录

注意:以上git diff是以后者,比如说git diff commitId1 commitId2,是以commitId2为base,即比较commitId2与commitId1之间的不同。

  • git diff HEAD //查看文件代码在工作区与远端分支上的所有不同
  • git diff --stat //以行的形式显示文件的修改(增加或减少的行数)