有时候会忘记一些git命令,在这里记录一下。
github官网:https://github.com/
git 下载: https://git-scm.com/
- git bash界面:
- 创建密钥,需要复制密钥到github的用户设置里。
ssh-keygen -t rsa -C "email"
注意是注册github时的邮箱,一直回车即可。
- 到 C/user/xx/.ssh 目录下,打开 id_rsa.pub 文件,复制。
- 到github网页,Settings - SSH and GPG keys - New SSH key,Title名任意
- 验证是否连接上github
ssh -T git@github.com
询问是否continue时输入yes。
提示 “You've successfully authenticated, but GitHub does not provide shell access.“ 说明成功
- 设置username和email
git config --global user.name "name"
git config --global user.email "email"
查看当前username和email
git config user.name
git config user.eamil
- 在本地创建文件夹作为本地仓库。这里选择 E:/git,将git bash切换到E:/git。
- 两种方式:
- cd E:/git
- 在文件夹下右键选项 - git bash here
- 克隆github上的项目到本地库
git clone url
- 测试上传
git add <filename>
git commit -m "描述"
git push origin <branch>
将git切换到test目录下,创建一个文件用来测试上传
push到服务器时需要输入github账号密码
更新本地文件到git仓库
// 查看修改的文件状态
git status
// 添加文件
git add ...
// 提交,不添加-m,可以删除修改文件 modified: 的前面的 # 进行提交,esc :wq
git commit -m "注释"
// 提交到远程仓库
git push origin master
- git的一般操作:
1. 管理本地仓库,关联远程仓库
//初始化:
git config --global user.name "name" //设置用户名
git config --global user.email "email" //设置邮箱
//将远程仓库复制到本地
git clone url
//将文件夹设置为git仓库
git init
//如果没有克隆仓库,不使用init,将已经建立好仓库,关联到远程github仓库
git remote add origin <url.git>
//上传文件
git add <filename> //暂存
git add *
git commit -m "描述" //本地仓库的HEAD中
//提交到远程仓库
git push origin <branch>
//查看状态
git status
//删除本地
rm -rf
//删除本地仓库
git rm
2. 分支
//创建"master_x"分支,并切换过去:
git checkout -b master_x
//切换回主分支:
git checkout master
//删掉分支:
git branch -d master_x
//除非将分支推送到远端仓库,不然该分支不为他人所见:
git push origin <branch>
3. 更新与合并
//更新本地仓库至最新:
git pull
//合并其他分支到当前分支:
git merge <branch>
//预览分支差异:
git diff <source_branch> <target_branch>
![点击并拖拽以移动 wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==](https://i-blog.csdnimg.cn/blog_migrate/03dad307d959fa4f1ce88851674fbb16.png)
- 另外遇到的一些问题:
1. remote: error: GH007: Your push would publish a private email address.
解决:GitHub - setting - emails - Keep my email address private - 去掉勾选
2. 错误的目录执行git init后,显示master
解决:删除.git目录:
rm -rf ~/.git
3. remote: HTTP Basic:Access denied
解决:输入:git config --system --unset credential.helper
再进行git操作,弹出用户名密码窗口,重新输入
4. fatal: unable to auto-detect email address (got '...@y...(none)')
解决:说明邮箱没有设置好,重新设置:
$ git config --global user.email "email"
或者,修改仓库目录下/.git/config,结尾添加
[user]
email=75986559@qq.com
name=lceio