wenbao与git
Posted wenbao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wenbao与git相关的知识,希望对你有一定的参考价值。
关于git的教程,前人之述备矣
简单自我总结一下
本地文件--->暂存区--->分支
初始化
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
SSH
生成ssh
ssh-keygen -t rsa -C "[email protected]"
.ssh文件夹下面产生id_rsa(私钥)和id_rsa.pub(公钥)
将公钥复制到sshkey里面
ssh -T [email protected]//显示欢迎界面则配置成功
创建文件夹管理git
mkdir gitee_test
cd gitee_test
git init//文件夹下面产生.git文件,勿动!
创建文件test.txt
git add test.txt
git commit -m "tset file"
git status
对比不同
git diff test.txt
版本控制
git log
git log --pretty=oneline
git log --graph//以图标方式显示
HEAD(当前版本)
HEAD^(前一个版本)HEAD^^...
git reset --hard HEAD^
git reset --hard 3b8a109
git reflog
撤销
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
删除
本地删除导致不一致
git rm test.txt(删除版本库)
或git checkout -- test.txt(撤销删除,库中恢复到本地)
远程管理
git remote add origin [email protected]:path/repo-name.git
(如果提示之前远程过可以git remote rm origin然后再执行)git push -u origin master//
第一次推送master分支的所有内容
git push origin master//此后推送修改
通过克隆下载到本地,多人协作开发
git clone [email protected]:path/repo-name.git
创建与合并分支
git branch //查看分支
git beanch name//创建分支
git chekout name//切换分支
git chekout -b name//创建并切换分支
git merge name//合并到当前分支git branch -d name //删除分支
git branch -D <name>//强制删除一个没有被合并的分支
储藏分支(bug分支)
git stash
git stash list
git stash apply//恢复分支
git stash drop//删除分支
git stash pop//恢复并删除分支git stash apply [email protected]{0}//有多个分支的时候利用list名恢复
命令
多人协作
git remote -v//查看远程库信息
git push origin branch-name//本地推送分支
(如果失败先git pull远程的最新提交)
git checkout -b branch-name origin/branch-name//本地创建与远程对应的分支,名字最好相同
git branch --set-upstream branch-name origin/branch-name//本地分支与远程分支建立关联
创建标签git tag name//
用于新建一个标签,默认为HEAD
,也可以指定一个commit idgit tag -a tagname -m "blablabla..."//
可以指定标签信息git tag -s tagname -m "blablabla..."//
可以用PGP签名标签git tag//
查看所有标签
git push origin tagname//
可以推送一个本地标签git push origin --tags//
可以推送全部未推送过的本地标签git tag -d tagname//
可以删除一个本地标签git push origin :refs/tags/tagname//
可以删除一个远程标签
别名配置
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.lg "log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘ --abbrev-commit"
只有不断学习才能进步!
以上是关于wenbao与git的主要内容,如果未能解决你的问题,请参考以下文章