ssh密钥公钥生成
1 生成指令 ssh-keygen -t rsa
2 在 root 用户的家目录中生成了一个 .ssh
的隐藏目录,内含两个密钥文件,其中id_rsa
为私钥,id_rsa.pub
为公钥。
远程仓库与本地仓库管理
1st
:关联远程仓库:git remote add origin git@github.com:xxxxx.git
2nd
:把本地库的所有内容推送到远程库上:git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
3rd
:远程克隆到本地:git clone git@github.com:xxxxx.git
常用指令
查看工作区的状态: git status
查看修改内容: git diff
版本回退:git reset --hard commit_id
`版本回退前,用git log可以查看提交历史,以便确定要回退到哪个版本。
回退后要重返未来版本,用git reflog查看命令历史,以便确定要回到未来的哪个版本`
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
强行删除分支(一般为未合并的分支):git branch -D <name>
合并分支及冲突解决
1,合并分支get merge <分支名>
-->查看冲突git status
-->手动解决冲突-->再次提交git add <file>
-->git commit -m '提交描述'
-->完成
graph LR
合并分支-->查看冲突
查看冲突-->手动解决冲突
手动解决冲突-->再次提交
bug分支
应用场景
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git进行stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
相关指令
储藏:git stash
查看:git stash list
恢复:git stash apply
stash内容删除:git stash drop;
恢复并删除:git stash pop
回退远程分支
开发过程中,如果把本地的某一个commit推送到远端后,希望把远端的该条记录删除。
git revert <commitId>
git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,
版本会递增,不影响之前提交的内容