Git
配置公钥
生成本地公钥
ssh-keygen -t rsa -C "exemple@exemple.com"
一路Enter~不输入内容,(默认密码空,默认用户位置)
查看公钥
cat ~/.ssh/id_rsa.pub
远程库加入公钥
将屏幕打印出来的内容复制到个人公钥里面
登录github网页版,点击Settings - SSH and GPG keys - New SSH key,新建公钥复制粘贴保存
配置用户信息
本地配置用户
git config --global user.email "exemple@exemple.com"
git config --global user.name "exemple"
新建项目init
新建git仓库
#新建文件夹
mkdir bccnui
#切换目录
cd bccnui
# 本地新建仓库
git init
# 本地文件加入仓库
git add .
# 提交带注释
git commit -m "init"
#添加文件到仓库
git add readme.txt
#提交文件备注说明
git commit -m "说明"
本地仓库关联远程库
# 本地仓库关联远程库,远程库的名字是bccnui。
git remote add bccnui git@git.oschina.exemple/bccnui.git
# git pull:相当于是从远程获取最新版本并merge到本地
git pull bccnui master
# git pull:提交到远程库
git push -u bccnui master
注:push之前先pull一下
克隆项目clone
登录网页版,进入项目的首页,选择ssh方式 git@git.oschina.exemple/bccnui.git
cd ~/bccnui
# clone 项目
git clone git@git.oschina.exemple/bccnui.git
# git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git fetch origin master
# 然后比较本地的master分支和origin/master分支的差别
git log -p master..origin/master
# 最后进行合并
git merge origin/master
其他命令
git log
#查看提交日志
git log --pretty=oneline
#以一行显示日志
git reset --hard HEAD^
#退回上一版本
git reset --hard HEAD^^
#退回上上版本
git reset --hard HEAD~10
#退回10个版本
git reset --hard xxxxxx
#前进到某个xxxxxx版本
git reflog
#用来记录你的每一次命令
git status
查看仓库状态
git checkout -- readme.txt
#撤销add和commit的内容
git reset HEAD readme.txt
#撤销(unstage)暂存区
git rm readme.txt
删除文件
git commit -m "删除readme.txt"
提交删除的内容
git checkout -- readme.txt
恢复删除的内容
git checkout -b dev
#创建dev分支,然后切换到dev分支:
#git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
git branch dev
git checkout dev
git branch
#查看分支:
git branch <name>
#创建分支:
git checkout <name>
#切换分支:
git checkout master
切换回master分支:
git checkout -b <name>
#创建+切换分支:
git merge <name>
#合并某分支到当前分支:
git merge dev
把dev分支的工作成果合并到master分支上:
git branch -d <name>
#删除分支:
git status
查看冲突
git log --graph
命令可以看到分支合并图
删除远程 Git 仓库
git remote rm origin