文章目录
1 config相关
1.1 查看配置
git config --list
1.2 保存密码
git config --global user.name xxx
git config --global user.email xxx
git config --global credential.helper store(首次输入,后续就不需要了)
1.3 设置commit之后为unix格式
git config --global core.autocrlf input
1.4 免密登陆
- ssh-keygen -t rsa ,然后点3次回车
- 将.ssh/id_rsa.pub中的内容增加到git服务器中
1.5 增加和删除安全目录
git config --global --add safe.directory xxx #信任xxx目录
git config --global --add safe.directory "*" #信任所有目录
git config --global --unset-all safe.directory
2 上传下载有关
2.1 下载分支代码
git clone -b openwrt-18.06 https://github.com/openwrt/openwrt 18.06
生成密钥
对于已经存在的git库,为了避免每次pull和push都要输入密码,可以生成密钥。
- ssh-keygen -t rsa ,然后点3次回车
- 将.ssh/id_rsa.pub中的内容增加到git服务器中
2.2 上传代码到远程仓库
2.2.1 本地有仓库,远程仓库为空
git remote show 查看远程仓库的名称
git remote remove [远程仓库的名称]
git remote add origin git@github.com:xxx/xxx.git
git branch -M main
git push -u origin main(需要提前创建空的远程仓库)
2.2.2 本地无仓库,远程仓库为空
git init //把这个目录变成Git可以管理的仓库
git add .
git commit -m "first commit" //把文件提交到仓库
git remote add origin 远程仓库的路径
git branch -M main
git push -u origin main//把本地库的所有内容推送到远程库上
3 提交相关
3.1 取消最近的提交
git reset --soft HEAD~1
4 日志相关
4.1 只查看提交说明
git log --pretty=oneline
4.2 只看某个作者的提交
git log --author=xxx
tig --author=xxx
5 分支管理
5.1 创建分支
git checkout -b 新分支名称 [commit ID] # 如果不指定commit ID,默认是HEAD
git push --set-upstream origin 新分支名称 #推送新分支到远程
6 tag管理
6.1 创建tag
git tag [tag名称] [commit ID] #如果不指定commit ID,默认是HEAD
git push origin [tag名称] #push到远程
6.3 删除tag
如果删除远程tag,下面2个命令需要同时执行。。。
git tag -d xxx #删除本地tag
git push origin :refs/tags/xxx #删除远程tag
6.3 查看tag
git tag -l #查看本地tag
git ls-remote --tags origin #查看远程tag