git使用
git init
:初始化
git add <文件>
:添加文件
git commit -m "<消息>"
:添加修改内容
git status
: 检查不同
git diff
: 具体不同内容
git log
:显示最近到最远的提交
git log --pretty=oneline
可以只输出commit id 和提交内容判断
HEAD表示当前版本, 上一个版本是HEAD^,上上一个版本是HEAD^^ 当然可以写成HEAD~10第十个版本
git reset --hard HEAD^
回到上一个版本,如果还想回到上一个版本还可以用上面的命令.
git reset --hard <之前的版本号[不用写全]>
git reflog
可以查看之前的记录[防止删除了之后,找不回来]
其实这些管理就像是在一个指针,每次回退增加只是在变换着指针的指向.
每次git commit之后才会提交到master这颗树上面.git status检查的stage(临时块/暂存区)
git管理的是修改,所以在git add后再修改文件,不会被commit到master中,需要再次add才可以
git checkout -- <file>
可以撤销一次的记录(没有 git add)
如果已经git add了
执行 git reset HEAD readme
撤销修改文件.
这些前提的前提是没有把内容提交到远程,如果到了就有点纠结了.
删除文件
rm test.txt
git rm test.txt
恢复:git checkout -- test.txt
远程仓库
首先要有一个github帐号,
在本地的用户主目录查看.ssh目录查看是否有id_rsa和id_ras.pub,其中id_rsa是私钥,id_rsa.pub是公钥,把公钥添加到github网站就可以.如果不存在,使用ssh-keygen -t rsa -C "youremail@example.com"
关联一个远程库:
git remote add origin git@server-name:path/repo-name.git
使用命令:git push -u origin master
第一次推送master分支的所有内容
每次更新后觉得有必要都可以git push origin master
分支管理
创建一个自己的分支,即可以继续在原来的分支正常工作,别人看不到,自己既可以备份,也不会影响到大家的工作.
HEAD指向当前链的头部,就是最新修改,由于之前我们都是在master上修改,基本的改变就是在master上.
如果需要创建dev分支,首先新建一个指针叫dev,指向master相同的提交,再把HEAD指向dev,
git checkout -b dev
来创建dev分支,然后自动切换到dev分支上,-b表示创建并切换
相当于下面两条命令
git branch dev
git checkout dev
然后使用git branch
可以查看分支
将dev合并到master上
git merge dev
合并完成后,删除dev分支:
git branch -d dev
目前暂时用到这些,之后用到再自行学习
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840202368c74be33fbd884e71b570f2cc3c0d1dcf000