常用命令
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 放到公共分支的最后面,所以叫变基。就好像你从公共分支又重新拉出来这个分支一样。
merge 会把公共分支和你当前的commit 合并在一起,形成一个新的 commit 提交
注意:不要对公共分支使用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
|