基本命令
- 初始化:创建一个git仓库,创建之后就会在当前目录生成一个.git的文件:git init
- 添加所有文件到缓冲区:git add .
- 提交缓冲区的文件:git commit -m "提交的说明"
- 查看状态:git status
- 查看日志:git log
- 版本回退:
- 第一种用法:回退到上一个版本(HEAD代表当前版本,有一个^代表上一个版本,以此类推)git reset --hard HEAD^
-
第二种用法:回退到指定版本(其中d7b5是想回退的指定版本号的前几位)git reset --hard d7b5
分支管理
- 查看分支的情况,前面带*号的就是当前分支:git branch
- 切换当前分支到指定分支:git checkout 分支名
- 创建分支并切换到创建的分支: git checkout -b 分支名
- 合并某分支的内容到当前分支:git merge 分支名
- 删除分支:git branch -d 分支名
远程仓库操作
- 增加远程仓库:git remote add origin git://127.0.0.1/abc.git
- 克隆远程仓库:git clone git://127.0.0.1/abc.git
- 拉取仓库代码:git pull origin 分支名
- 提交到远程分支:git push origin 分支名
其他功能
- 储藏(Stashing):经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。“储藏”可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
- 往堆栈推送一个新的储藏:git stash
- 查看现有的储藏: git stash list
- 重新应用储藏,同时立刻将其从堆栈中移走:git stash pop
- cherry-pick:将同一个commit提交到多个分支。比如你有两个分支,在A分支商进行了修改,但是想同步更新到B分支上,就需要使用到这个功能。
- 在A分支上进行正常的修改、提交,并查看提交的log码;
- 切换到B分支,执行命令git cherry-pick ’log码‘,然后push就OK。