常用的git基础操作

82 阅读2分钟

本地仓库

第一次使用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:前三次提交