Git 使用指南

Git 使用指南 [记录] 忽略文件 vim .gitignore 添加需要忽略的内容如: .DS_Store (某个特定文件) *.a (.a 结尾的文件) !lib.a(否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件) /dist(仅在当前目录下忽略 dist文件) bulid/(忽略

Git 使用指南 [记录]

忽略文件

vim .gitignore

添加需要忽略的内容如:

.DS_Store (某个特定文件) *.a (.a 结尾的文件) !lib.a(否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件) /dist(仅在当前目录下忽略 dist文件) bulid/(忽略 bulid/ 文件夹下的所有文件) doc/*.txt (忽略 doc/a.txt, 不包括 doc/server/b.txt)

已经commit 但是没有push 撤销某些文件/文件夹

# 删除文件夹
git rm -r --cached ${文件夹名}
# 删除文件
git rm --cached ${文件名}

或者把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

已经push 清除已经上传的多余文件

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

其实就是 git rm xxx xxx。用shell把文件名找出来循环删除了

用其他人的账户密码push

临时的方法:

git config --local credential.helper ""
git config user.name "xxx"
git config user.email "xxx"

撤销某次撤销

git log 查看分支

git reset —-soft acxxxxxxxxxxxxxxxxx 回到某个分支

git push --force 强制提交

暂存命令的作用

可以将git工作区的代码更改暂存,之后就可以执行 git pullgit merge之类的命令

暂存命令 git stash save "暂存的备注" 直接执行git stash也可以达到暂存的目的,但是连续多次暂存后容易让人混淆哪次暂存了哪些代码

查看暂存记录 git stash list取回暂存代码 git stash pop取消【取消暂存代码】

git reset --hard

请不要使用 git pull

当远程分支更新到A→B,本地是A→C,如果用git pull则会额外创建一个合并并提交 成了

 |->C-->|
A->B----->D 

会导致navigate的困难

为了实现A→B→C(保持提交的线性)

使用 git pull --rebase

如果有合并冲突 取消pull: git rebase --abort

LICENSED UNDER CC BY-NC-SA 4.0
Comment