目录
- 仓库
- SSH
- 操作
- 基本操作
- 逆向操作
- 本地仓库整理操作
- 合并操作
- 解决冲突
仓库
远端仓库
git init --bare
别名: origin
本地仓库
git clone …
SSH
SSH协议是一个验证授权的网络协议;
使用ssh公钥登录git服务器:
生成公钥和私钥(ssh-keygen -t rsa)
安装openssh server (可省略)
复制公钥内容到远端服务器.ssh/authorized_ keys
git clone ssh://mark@ 192.168.31.91:/home/mark/mathlib
操作
基本操作
暂存(git add)
提交(git commit) 区分不同类别的修改
推送(git push)
拉取(git fetch)
将远程仓库所包含分支的最新commit- id记录到本地文件
拉取合并(git pull):git fetch+git merge
查看状态(git status)
查看历史(git log)
逆向操作
index -> workspace:git restore -S
本地仓库-> index:git reset --soft
本地仓库-> workspace:git reset --mixed
本地仓库-> null:git reset --hard
workspace -> null:
git checkout
git checkout – file
git checkout -f
本地仓库整理操作
整理上一次提交:git commit --amend
整理多次提交:git rebase -ih1 h2(左开右闭)
从变基那个节点开始往后的所有节点的commit id都会发生变化,没有人基于你的分支开发会弓|发其他人冲突
合并操作
查看分支:git branch
创建分支:git branch develop (创建) git checkout -b develop(创建并切换到develop分支)
合并分支:
git merge
git rebase(不建议使用)
会改变提交id,如果有人依赖我的分支,那么会出现异常。
解决冲突
冲突产生原因:不同分支修改了同一-文件的同一行或者相邻行;
不要影响其他人提交的功能,也不能破坏自己提交的功能、协商解决;