Git配置:
- 设置用户名
git config --global user.name "your username"
- 设置用户邮箱
git config --global user.email"your email"
- 生成公钥,并将公钥加入对应网站的公钥库,私钥保留在文件夹中
ssh-keygen -t rsa -C "your email"
- 多个公钥配置方式,在.ssh/文件夹下创建config文件
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile C:\Users\liu\.ssh\id_rsa
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile C:\Users\liu\.ssh\gitee_rsa
# coding.net
Host git.coding.net
HostName git.coding.net
PreferredAuthentications publickey
IdentityFile C:\Users\liu\.ssh\coding_rsa
- 验证是否配置成功,如coding.net
ssh -T git@git.coding.net
Git常用命令
git clone git@gthub.com:useam/repostery.e #从远程库克隆一个到本地库,git支持https、git协议, 经过测试原生git协议速度最快
git remote add origin git@github.com:username/repostery.git #关联本地仓库,运程库的名字为origin
git remote #查看远程仓库 -v查看详细信息
git init #创建仓库
git add <filename> #把所有要提交的文件住改放到暂存区 -A将所有文件提交
git commit -m"messge" #把暂存区所内容提交到当前分支
git push origin master #把当前分支master推送到远程
git push -u origin master #第一次把当前分支master推送远程,-u参数不但推送,并且将本地的分支和远程的分支关联起来
git pull #将远程仓库最新版本与本地仓库合并,等同于git fetch 与 git merge
git branch #査看当前分支
git branch <name> #创建分支
git checkout <name> #切换分支
git checkout -b dev #创建井切换分支
git merge <name> #合非某个分支到当前分支
git branch -d cname> #删除分支
git log --graph #査看分支合井图
git stash #隐藏当前工作现场,等恢复后继续工作
git stash apply #只恢复现场,不刪除stash内容
git stash drop #删除stash内容
git stash pop #恢复现场的同吋删除stash内容
git status #查看工作区状态
git diff #查看文件修改内容
git log #查看提交历史
git reset --hard HEAD^ #回退到上个版本,HEAD^^ 上上个版本,HEAD~num(上num个版本) commit id(版本号) 回退到指定版本
git reflog #查看历史命令
git diff HEAD -- <file> #查看工作区和版本库里最新版本的区别
git checkout -- <file> #用版本库的版本替换工作区的版本,一键还原,丢弃修改,回到上次commit 或者 add 的状态
git reset HEAD <file> #把暂存区的修改撤销,重新放回工作区
git rm <file> #删除文件,若文件已提交到版本库,不用担心误删,但是只能恢复文件到最新版本的修改撤销,重新放回工作区
git rm <file> #删除文件,若文件已提交到版本库,不用担心误删,但是只能恢复文件到最新版本