Git 常用操作
# git 设置远程仓库和强制推送
git remote add origin git@github.com:XXXXX/demo.git
git push -u origin master -f
1
2
2
慎用,此命令会删掉远程仓库的数据强行将本地仓库 push 至远程仓库
参考:git 设置远程仓库和强制推送 - 三重罗生门 - 博客园 (opens new window)
# git 放弃暂存区的修改
- 放弃暂存区的修改
git reset HEAD
1
- 对比
git diff --cached
1
2
2
- 删除工作区内容
git clean -d -f
1
- 从远程仓库拉取
git pull
1
Git 撤销工作区的所有修改并删除暂存区文件_git_Acettest's Blogs-CSDN 博客 (opens new window)
# 查看某个指定文件的修改历史
git log --follow -p {file_path}
1
# 新建分支(以 mydev 为例)并推送
git checkout -b mydev
git push origin mydev:mydev
1
2
2
# 删除已经跟踪的文件或者目录
这种情况就是说:之前不小心把一些本不应该提交的文件或目录提交上去了,现在发现了,需要对上游仓库进行删除,同时本地不再跟踪文件变化。
- 首先修改
.gitignore
,排除要删除的文件。 - 按照如下执行,分别删除本地和 git 跟踪
rm -rf {file name} # 删除本地文件
git rm -r --cached {file name} #从index中删除(不再跟踪)
1
2
2
- 提交修改
git add -A/. # 添加到暂存区
git push origin {branch name} # 推送到远程仓库
1
2
2
看一下git rm
的用法
$ git rm -r --cached
usage: git rm [<options>] [--] <file>...
-n, --dry-run dry run
-q, --quiet do not list removed files
--cached only remove from the index
-f, --force override the up-to-date check
-r allow recursive removal
--ignore-unmatch exit with a zero status even if nothing matched
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
如果同名的文件过多,如:.class
文件被提交了,那么如果这样一个个显然效率太低,可以按照下面方法操作:
find . -iname {filename} -exec rm -rf {}\
1
重复上面的步骤,将文件名替换为下一个要删除的文件名
编辑 (opens new window)
上次更新: 2024-07-15, 03:27:09