美文网首页程序员
git本地仓库的其他命令

git本地仓库的其他命令

作者: 栗子_978b | 来源:发表于2018-11-17 14:25 被阅读0次

git commit -a

把工作区的修改添加到本地仓库的需要两步git add filenamegit commit -m "message"有时候会觉得麻烦,这个时候可以使用git commit -a -m "message",相当于把上述两部合并成一步了。这里的-a相当于add吧。不过注意,如果是一个untracked file是不能直接这样操作的,还是得老老实实的分两步从工作区提交到本地仓库,之后才能使用commit -a -m "message"


git diff 和git diff HEAD

git diff可以查看工作区和暂存区之间的差异。
git diff HEAD可以查看工作区和本地仓库之间的差异。
上述的差异是指工作区比暂存区或本地仓库多或者少的代码。
红色表示工作区比暂存区/本地仓库缺少的代码,前面会有-号。
绿色表示工作区比暂存区/本地仓库多的代码,前面会有+号。
要是文末多了几个空白行,则会提示\ No newline at end of file


git checkout -- filename

git checkout -- filename使用该命令,相当于用暂存区里的filename版本替换掉工作区的。注意filename--之间有空格,毕竟file不是git checkout命令的参数。比如,当你你使用rm file,把文件从工作区删除,使用git checkout --file后,file就会变成存放在暂存区里的file版本。如果这个文件是新建的,显然就无法被恢复。


git rm filename

  1. git rm filename可以把文件从工作区,暂存区里同时删掉。使用git status命令查看状态。
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted:    gabage.txt

这个时候就不能用git checkout -- file恢复文件了,因为暂存区中的文件也已经被删除了,会提示

error: pathspec 'gabage.txt' did not match any file(s) known to git

后续再git commit -m "message",就ok了。注意:先手动删除文件,然后使用git rm filenamegit add filename效果是一样的。。

  1. git rm --cache filename可以把文件只从暂存区里删掉。使用git status查看状态
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted:    gabage2.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        gabage2.txt

Changes to be committed是因为暂存区里的文件和本地仓库里文件不一致导致的,使用commit -m "message"就可以使暂存区里的文件和本地仓库里一致了。当然也可以使用git reset HEAD filename,把本地仓库里的文件版本替换暂存区里的版本。
Untracked files是因为工作区有一个文件没记录在暂存区,使用git add就可以了。


git reset HEAD filename

git reset HEAD filename可以把本地仓库里的文件版本替换暂存区里的文件版本。如果使用git add filename,再使用git reset HEAD filename效果相当于撤销了这次git add filename的操作。git reset命令有三种模式。

  1. -- soft:回退到某个版本,只回退本地仓库的信息,不对暂存区和工作区操作。
  2. --mixed:此为默认方式,平时不加参数的话,用的就是这种模式,回退本地仓库和暂存区的文件版本,不对工作区进行操作,所以用git reset HEAD filename,本地仓库的版本没有变,而暂存区版本和本地仓库不一定一致,造成的效果就相当于用本地仓库的文件版本替换了暂存区的文件版本。其实这个命令本地仓库和暂存区的文件版本同时被替换。
  3. --hard:彻底回退到某个版本,工作区,暂存区,本地仓库的版本都会被替换。

相关文章

  • 如何使用Git创建、合并、删除分支

    创建分支 通过命令git branch查询本地仓库分支;通过命令git branch -a查询本地和远程仓库的分支...

  • 每日小结2.21

    git常用指令汇总 初始化本地仓库 命令:git init 克隆远程仓库 命令:git clone 远程仓库 添加...

  • Git 上传文件命令

    git添加到本地仓库 git提交到本地仓库 git推送到远程仓库 git合并分支 当前配置链接命令 把当前地址设置...

  • windows的git上传github

    1.建立git本地仓 库 打开本地git工具 执行命令:git init 创建本地仓库: 执行命令 :git ad...

  • Android 基础操作 git操作

    Git 操作 git 命令 创建本地仓库 git init 获取远程仓库 git clone [url] 例:gi...

  • git本地仓库的其他命令

    git commit -a 把工作区的修改添加到本地仓库的需要两步git add filename,git com...

  • Git命令

    Git命令 Git本地库关联远程仓库 Git global setup git config --global ...

  • Git基础操作

    初始化本地仓库 Git 使用git init命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的...

  • GIT 常用命令总结

    GIT 常用命令总结 GIT 初始化命令 命令描述git init初始化本地 git 仓库git config -...

  • Git 最简单使用帮助

    初始化并同步仓库 先在GitHub创建好仓库 在本地,打开Git命令行,输入git init初始化本地仓库 git...

网友评论

    本文标题:git本地仓库的其他命令

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