本地仓库
第一次使用git:
git config --global user.name "laowang"
git config --global user.email laowang@example.com
这个就像是一个标记,自称和登录注册还是有区别的。
创建仓库:
git init
git clone url(克隆项目)
然后就可以对仓库为所欲为了
跟踪仓库:git add name
删除跟踪仓库:git rm name
保留在目录但是不跟踪:git rm --cache name
然后就可以对跟踪的文件进行修改:
文件状态设置为缓存状态:git add
取消缓存:git reset HEAD name
提交状态:git commit
取消提交(但是不能撤销第一次提交):git reset head~ --soft
查看文件状态:git status
查看文件哪里被修改了:git diff
查看之前历史的提交:git log -all
远程仓库的基本操作
连接远程仓库:git remote add origin url
修改远程仓库名字: git remote rename origin
推送到远程仓库:git push origin 分支
分支的有关操作
查看自己是哪一个分支:git log;git branch --list(前面带*)
创建分支:git branch feature1(name)
切换分支:git checkout feature1
提交分支:git commit -am ‘feature1(name)’
合并分支:git merge feature1
推送分支:git push origin feature1
拉取分支分支:git fetch
切换远程分支:git checkout -b feature1 origin/feature1 ;git checkout feature1
贮藏功能/stash
正在做A分支写了部分功能,需要切换分支去修复B的bug,把A分支的内容贮藏。
贮藏当前内容:git stash;git stash push
恢复存储的内容:git stash apply
查看存储的列表:git stash list
恢复到某指定的存储位置:git stash apply stash@{2}
恢复最后一次存储:git stash pop
重置/reset
撤销提交:git reset head ~ --soft
head当前的提交,head~上次的提交,head~2倒数第二次的提交
--soft:撤销提交,但是不撤销暂存
--hard:撤销彻底回到上次提交的状态,会丢数据
变基/rebase
简单理解成搬家操作,可以做合并分支,但是注意,如果有人使用在A分支的基础上拉分支B做了二次开发,就不要再去变基,就好像别人在地基上建了房子,你去把地基拆了。
交互操作:rebase -i head~3
head~3:前三次提交