Git常用命令整理.md

简书迁移

Posted by thrfox on June 29, 2020

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
git config --global user.email [email protected] # 将用户邮箱设为[email protected]

git diff work master --name-only | xargs tar -czvf update.tar.gz #将分支work和master的差异文件打包为update.tar.gz

git remote add origin ssh://xxx:22/home/thrza/workspace/AmazingCode.git #添加远端仓库 
git rm --cached -r st.txt #删除版本库中的st.txt,用于commit之后发现.gitignore未添加该st.txt文件,然后commit一下
git push --all #推送所有分支

git reset --soft HEAD~1 #撤销到上一个commit
git commit --amend –m '' #修改上一次commit的信息

#配置git clone 代理
git config --global http.proxy http://127.0.0.1:10809
git config --global https.proxy https://127.0.0.1:10809

fetch 和 pull

1
2
pull = fetch + merge
将本地分支与远程同步,并且合并当前分支修改

merge 和 rebase

rebase会把你当前分支的 commit 放到公共分支的最后面,所以叫变基。就好像你从公共分支又重新拉出来这个分支一样。 image.png merge 会把公共分支和你当前的commit 合并在一起,形成一个新的 commit 提交 image.png 注意:不要对公共分支使用rebase git-scm变基与合并 GIT使用rebase和merge的正确姿势 —————————

git秘钥免密码pull和push

1.创建密钥

1
2
3
4
5
$ ssh-keygen -t rsa -C "[email protected]"
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名,可省略后提示输入。
提示输入passphrase,秘钥访问密码,可省略

2.复制公钥到服务器

1
2
3
4
window下生成的在%User%/.ssh
$ clip < ~/.ssh/${filename}.pub
或
$ cat ~/.ssh/${filename}.pub 后复制

git设置全局忽略

vscode的localhistory插件总是创建一个.history,需要全局忽略

1
2
# 创建.gitignore_global文件
git config --global core.excludesfile <PATH>/.gitignore_global