标签:tty 跟踪 远程 eal ups 文件夹 反转 git log filename
git clone
git remote -v
git remote add
git add .
git commmit
git fetch upstream
git pull upstream origin
git push
git add 撤销 git reset HEAD file
git reset HEAD <file> # 取消add操作并保留修改
git checkout -- <file> #若继续该命令,则会删除掉刚刚的修改内容
git reset --soft <commit_id> #可以回退到某个commit并保存之前的修改 <commit_id>从git log中取,取前7位即可
git reset --hard <commit_id> #回退到某个commit不保留之前的修改
git reset --soft <commit_id> #可以回退到某个commit并保存之前的修改 <commit_id>从git log中取,取前7位即可
git reset --hard <commit_id> #回退到某个commit不保留之前的修改
git revert <commit_id>
原理: git revert 会产生一个新的 commit,它和指定 SHA 对应的 commit 是相反的(或者说是反转的)。 任何从原先的 commit 里删除的内容会在新的 commit 里被加回去,任何在原先的 commit 里加入的内容会在新的 commit 里被删除。这是 Git 最安全、最基本的撤销场景,因为它并不会改变历史 — 所以你现在可以 git push 新的“反转” commit 来抵消你错误提交的 commit。
git rm file
git commit -m "test delete"
git push origin branch name
git revert <commit_id>
git rm --cached filename
git commit -m "delete"
git push origin branch name
git rm -r --cached directory
git commit -m "test"
git push origin branch name
正确的做法应该是:git rm --cached logs/xx.log,然后更新 .gitignore 忽略掉目标文件,最后 git commit -m "We really don‘t want Git to track this anymore!" 删除跟踪状态而不是物理状
//已经维护的文件 的解决方式
已经维护起来的文件,即使加上了gitignore,也无济于事。
用下面这个命令:
git update-index --assume-unchanged logs/*.log
这样每次提交就不会出现logs下面的文件了
标签:tty 跟踪 远程 eal ups 文件夹 反转 git log filename
原文地址:http://www.cnblogs.com/long613/p/7800703.html