设置免密

创建密钥

1
ssh-keygen -t ed25519 -C "自定义"

添加密钥

以 Gitlab 为例,进入个人资料页,“SSH 密钥”->“添加 SSH 密钥”,然后就可以免密操作仓库了


使用 Git

安装使用

1
yum install git

全局设置

1
2
git config --global user.name "JnuYu"
git config --global user.email "work@yuwei.cc"

获取设置

1
2
3
git config --local -l
git config --global -l
git config --system -l

创建仓库

1
2
3
4
5
6
7
git clone git@xxx.xxx.com:xxx/data.git
cd data
git switch -c master
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

推送文件

1
2
3
4
5
6
cd 文件夹
git init --initial-branch=master
git remote add origin git@xxx.xxx.com:xxx/data.git
git add .
git commit -m "Initial commit"
git push -u origin master

推送仓库

1
2
3
4
5
cd existing_repo
git remote rename origin old-origin
git remote add origin git@xxx.xxx.com:xxx/data.git
git push -u origin --all
git push -u origin --tags

故障技巧

使用代理

往 Github 提交代码需要代理访问,否则报错:Could not resolve host: github.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#设置全局 socks5 代理
git config --global http.proxy 'socks5://127.0.0.1:10808'
git config --global https.proxy 'socks5://127.0.0.1:10808'
#设置全局 http 代理
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
#取消全局代理
git config --global --unset http.proxy
git config --global --unset https.proxy
#设置指定网址代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:10808
git config --global https.https://github.com.proxy socks5://127.0.0.1:10808
#取消指定网址代理
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy

历史提交

清空远程提交历史

1
2
3
4
5
6
7
8
9
10
11
12
13
git status
#新建并切换到新的分支
git checkout --orphan latest_branch
#暂存所有文件
git add -A
#提交更改
git commit -am "网站重置"
#删除原主分支
git branch -D master
#将当前分支重命名为 master
git branch -m master
#强制更新远程存储库
git push -f origin master

Github 只能使用 ssh 连接,之前用 Idea 连接用的事 https,需要删除重新添加
1
2
3
git remote -v
git remote rm origin
git remote add origin git@github.com:wekbs/library.git

git add . 时报错“fatal: detected dubious ownership in repository at”
1
git config --global --add safe.directory "*"

其他教程