查看本地分支
git branch
查看(origin)所有分支
git branch -r
查看全部分支(包括origin)
git branch -a
切换到[分支名]分支 (包含origin)
git checkout <分支名>
从当前分支切换到新分支(注意:如果有未commit的代码会一并带入此新分支)
git checkout -b <分支名>
新建分支
git branch <分支名>
新建空白分枝
git checkout --orphan <分支名>
提交到当前分支中,包括新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add .
提交提交到当前分支中,包括被修改(modified)和被删除(deleted)文件,不包括新文件(new)(git add --update简写)
git add -u
操作集合(git add --all 简写)
git add -A
= git add .
git add -u
查看当前分支代码更改状态
git status
提交更改到本地
git commit -m '提交信息'
放弃所有的文件修改(在未使用git add命令添加到缓存区情况,反之请参考git reset 命令)
git checkout .
同某一个分支做合并操作
git merge <origin> <分支名>
使得每一次的合并都创建一个新的commit记录。即使这个commit只是fast-foward,用来避免丢失信息。
git merge --no-ff <分支名>
从某个分支拉取代码(注意:远端,提醒检查以后决定是否合并本地分支)
git fetch <origin> <分支名>
从其它分支(origin、本地)拉取代码并与当前分支做合并(merge),可能会引发冲突
git pull <origin> <分支名>
删除本地分支
git branch -d <分支名>
删除远程分支,删除后还需推送到服务器
git branch -d -r <分支名>
推送提交至服务器(:可以省略)
git push origin:<分支名>
重命名本地分支
git branch -m <原分支名> <新分支名>
把所有的缓存文件都删掉
git rm -r --cached .
查看提交日志
git log
可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reflog
将代码回退到commitId这个提交点上,且工作区和暂存区都会修改(本地不可逆,慎用,如果发生数据丢失请参考git reflog 命令)
git reset --hard<cimmitId>
将代码回退到commitId这个提交点上,该命令会将工作去的文件回退到目标版本,但是不会改变暂存区的状态
git reset --soft<cimmitId>
查看所有tag
git tag
在某个分支下打一个以<tag名>命名的tag
git tag <tag名> -a -m 'tag信息'
从某一个tag处创建新分支
git checkout -b <分支名> <tag名>
看到tag信息
git show <tag名>
解决冲突
merge 时冲突
1.解决冲突文件;
2使用git push命令
为保证gitk基线笔直时使用pull rebase合并代码冲突
1.解决冲突文件;
2.使用
git add .
命令添加更改文件;3.使用
git rebase --continu
命令继续改基线;4.如果没有冲突使用
git push
命令,否则继续1,2,3操作5.如果放弃合并使用
git rebase --abort