中国网络水泥 发表于 2018-9-16 13:59:48

git 从版本控制中删除文件及.gitignore的用法

  刚开始用git的时候,喜欢用git add *把所有文件都加入到版本管理中。
  后来发现,因为我在virtualenv下面创建的内容,在跑测试的时候,会产生__pycache__文件夹,里面的很多东西都不需要纳入版本管理中,于是就想把它删掉。
  一般来说,用的是git rm命令,比如
  git rm -r __pycache__
  但是它会直接删掉硬盘上的文件,我们可以加上-n参数查看他会删掉哪些文件。
  (.venv) # git rm -r -n BaseClasses/__pycache__/
  rm 'BaseClasses/__pycache__/World.cpython-36.pyc'
  比如结果如上所示。
  那么如果我想保留硬盘上的这个文件,而只删除版本管理中的文件,就需要加入--cached参数。
  (.venv) # git rm -r --cached BaseClasses/__pycache__/
  这样,版本管理中的__pycache__文件夹就被删除了。后续想要排除这个文件夹,只需要在.git文件存在的目录下添加一个.gitignore文件,让git add的时候跳过这个文件夹即可。
  (.venv) # cat .gitignore
  # skip .venv
  .venv/
  # skip */__pycache__
  */__pycache__
  这样就可以不用担心把这些cache文件加入版本管理啦。

页: [1]
查看完整版本: git 从版本控制中删除文件及.gitignore的用法