目录
简易git命令
- 工具下载 Git GUI
首先配置SHHkey
- 创建SSH Key。在用户主目录下,看看有没有
.ssh
目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "934797303@qq.com" //这里换成自己github绑定的邮箱
然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对,id_rsa
是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
- 登陆GitHub,打开“Account settings”,“SSH Keys”页面。然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴
id_rsa.pub
文件的内容。
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。
Git 全局设置:
//配置github用户名git config --global user.name "WarnerYang"//配置github邮箱git config --global user.email "934797303@qq.com"
取消全局 username, email
git config --global --unset user.namegit config --global --unset user.email
本地创建git仓库(如:learn):
mkdir learn //创建目录cd learn //打开目录git init //初始化touch README.md //创建README文件git add README.md //添加git commit -m "first commit" //提交及说明 git remote add origin git@github.com:WarnerYang/learn.git //提交到远程git push -u origin master //推送
由于远程库是空的,我们第一次推送master分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的maste
r分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
如果在github上已经创建仓库(如:learn)
git remote add origingit clone git@github.com:WarnerYang/learn.git //从远程库克隆
如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。
你也许还注意到,GitHub给出的地址不止一个,还可以用https://github.com/WarnerYang/wx.git
这样的地址。实际上,Git支持多种协议,默认的git://
使用ssh
,但也可以使用https
等其他协议。
使用https
除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http
端口的公司内部就无法使用ssh
协议而只能用https
。
添加
git add 文件名或文件夹名 //提交整个目录 git add .
提交
git commit -m "提交说明"
推送
git push origin master
删除远程分支
git push origin --delete [branchName]
本地同步线上已经删除的分支
git remote prune origin
回滚到指定的版本
git reset --hard e377f60e28c8b84
让Git显示颜色
git config --global color.ui true
配置别名
git config --global alias.st statusgit config --global alias.co checkoutgit config --global alias.ci commitgit config --global alias.br branch
gitk 乱码修改
windows找到git配置文件
C:\Users\93479\.gitconfig
在末尾添加
[gui] encoding = utf-8
如何 clone git 项目到一个非空目录
如果我们往一个非空的目录下 clone git 项目,就会提示错误信息:fatal: destination path '.' already exists and is not an empty directory.解决的办法是:1. 进入非空目录,假设是 /d/WWW/qh_loan/api2. git clone --no-checkout git@git.qhweidai.com:qh_loan/api.git tmp3. mv tmp/.git . #将 tmp 目录下的 .git 目录移到当前目录4. rmdir tmp5. git reset --hard HEAD
gitignore 不起作用的解决办法 && 已经上传的怎么加入gitignore
git rm -r --cached .git add .git commit -m 'update .gitignore'
Git多账号配置
https://www.cnblogs.com/popfisher/p/5731232.html
前提要 取消全局 username, email
Host github.com HostName github.com User WarnerYang IdentityFile C:/Users/93479/.ssh/id_rsa_githubHost git.xxx.com HostName git.xxx.com User yhq IdentityFile C:/Users/93479/.ssh/id_rsa