一、git clone 出现 fatal: unable to access Failed to connect to github.com port 443: Timed out
如果其他设置和仓库网址都正常,可以试试
将 C:\Windows\System32\drivers\etc\hosts 清空
二、Auto packing deferred; not on AC
这种情况一般是因为本地git的dangling commit过多(dangling commit可以通过git merge来恢复)。则可以通过下面命令解决。
- git fsck --lost-found (查看dangling commit)
- git gc --prune=now
三、重写上一个提交的作者和邮箱
如果上一次提交时候的作者或者邮箱与预期不符,可以执行以下命令修改
git commit --amend --no-edit --author=“xxxxxx@xxx.com”
四、git版本回滚到某一天
commitID=`git log --before “2020-3-16” -1 --pretty=format:“%H”`; git reset --hard $commitID
五、git修改远程仓库地址
-
修改命令
git remote set-url origin [url]
例如: git remote set-url origin https://github.com/xxx/xxx.git -
先删后加
git remote rm origin
git remote add origin [url]
六、git stash 命令
- git stash save “save message” : 执行存储时,添加备注,直接 git stash则没有备注
- git stash list :查看stash的存储列表
- git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存储,后面加stash@{$num},比如第二个 git stash show stash@{1}
- git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
- git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
- git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
- git stash drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储
- git stash clear :删除所有缓存的stash
七、VIM 无限历史撤销
首先在 vimrc 中添加如下代码
set undofile
xxx.un~ 文件是用来存储当前xxx文件的所有撤销、重做记录的。u是撤销上一次操作,ctrl+r是重做下一次操作。但是问题时,每个文件都会创建一个 un~ 文件,那在不同目录下都会有这种类型的文件,看上去会让人非常心烦!
解决方法:把这些 xxx.un~ 统一放到一个专用目录中进行管理
在终端命令行创建目录
mkdir ~/.vim/undodir
再在 vimrc 中添加如下代码:
set undodir=~/.vim/undodir
这样所有文件的 un~ 撤销历史文件就都会保存在这个目录下。
八、linux替换目录下所有文件中的某字符串
替换当前目录及子目录下所有文件中的 “aaaa” 为 “bbbb”。
sed -i "s/aaaa/bbbb/g" `grep aaaa -rl ./`
九、git bash 对于中文文件名的支持
在使用 git bash 操作的时候,会发现中文名显示为多个字符编码而不是中文。
解决方法如下:
- 1、在 git bash 终端输入以下命令:
git config --global core.quotepath false
- 2、git bash 设置中将文本格式设置为 zh_CN,UTF-8