今天总结些工作中常用到的软件版本管理git的命令。
git的工作流程 :git 工作区--add --->版本库:暂存区--commit--->本地仓库或本地分支---push-->远程仓库
git log --pretty=oneline 简洁的打印信息
git diff >xxx.path 分支1 分支2 输出两分支的差异文件xxx.path
git diff HEAD -- file 可以查看工作区和版本库里面最新版本的区别
reset 重置当前HEAD到指定状态
git reset --hard 分支id (版本号没必要写全,后几位就可以了)
git reset --hard HEAD^ 回退到上个分支
git reset --hard HEAD^^ 回退到上上个分支
git reset HEAD <file> 可以把暂存区的修改撤销掉(unstage)重新放回工作区:
git reflog 用来记录你的每一次命令(一般在找不到分支的id号是可以使用来恢复相应的分 支--重返未来)
git add 可以重复提交内容到版本库或分支然后再一次性git commit 到版本库或者分支
git add --all
git pull <远程主机名> <远程分支名>:<本地分支名> 将远程分支拉取过来与本地分支合并
git push origin test:master 提交本地分支到远程分支
git clone 克隆分支
git commit -am或-m "注释说明" 把暂存区的内容提交到本地仓库或本地分支
git checkout -- file 撤销修改,让这个文件回到最近一次git commit或git add 时的状态;
git checkout 分支id 切换到另一个分支或版本节点
git rm 从版本库中删除该文件,并且再次git commit,诺要恢复就git checkout -- file但只 能恢复到最新的file版本;
git merge 分支名 命令用于合并指定分支到当前分支,(是指把后缀的分支合并到当前的分支)
(注意下当主分支被修改后新分支合并时会有冲突,需手动修改另个分支的差异或 者使用git pull把主分支的改动合并到次分支,再把次分支合并到主分支。工作中 我一般重新git clone 一个新的主分支再把我工作的分支差异用对比工具把代码添 加到新git 的主分支再push提交)
git branch -d 分支名 删除分支
git branch 分支名 创建分支或查看分支
git checkout -b 分支 创建并切换分支,
git remote -v 查看远程库的信息。
git tag 标签名 要打标签的分支节点id(缺省则为当前打标签) 之后可以使用git show 标签名 来查 看对应的内容。
git tag -a <tagname> -m "blablabla..." 可以指定标签信息;
git tag -d 标签名 删除标签
git config --global alias.co checkout 配置别名 git checkout 相当于git co 。
git config --global alias.lg "log --pretty=oneline" 以后用git lg 代替git log --pretty=oneline