- 综合
git init 项目初始化(数据已经存在于本地版本库中)
git clone xxx 克隆项目
git clone -b 分支 地址 克隆某个分支下的代码
git config --list 查看配置
git config --global user.name "xxx" 设置用户名
git config --global user.name 查看用户名
git config --global user.email "xx@xx.com" 设置邮箱
git config --global user.email 查看邮箱
git status 查看当前版本控制状态
git log 查看提交修改历史
- 提交
git add xxx 把文件xxx从工作区添加到暂存区
git add . 把有改动的所有文件从工作区添加到暂存区
git commit -m 'xxx' 把暂存区的文件提交到版本库
git commit -a -m "xxx" 把工作区的文件加入到暂存区,然后提交到版本库
git push origin test:master 提交本地test分支作为远程的master分支(远程的github就会自动创建一个test分支)
git push origin dev:dev 提交本地test分支作为远程的test分支
- 对比
git diff 工作区和暂存区代码对比
git diff --cached(--staged) 暂存区和版本库代码对比
git diff 分支名 工作区和版本库代码对比
- 撤销
git reset HEAD 文件名 从暂存区撤销增加操作回工作区
git commit --amend 从版本库撤销提交操作
git checkout --文件名 还原文件:如果暂存区有,者从暂存区还原,如果没有,者从版本库还原到工作区,工作区被修改的文件会丟失
- 删除
git rm 文件名 删除暂存区的文件(工作区的文件已删除)
git rm -f 文件名 同时删除暂存区和工作区的文件
git rm --cached 文件名 只删除暂存区的文件,保留工作区的文件
- 恢复
git checkout 版本号 文件名 从版本库中恢复指定版本的文件(可使用git log查询版本号)
git reset --hard 版本号 从版本库中恢复指定版本的所有文件
git reset --hard HEAD^ 从版本库中恢复到上1个版本的所有文件
git reset --hard HEAD~n 从版本库中恢复到上n个版本的所有文件
git reflog 查看恢复日志,从而使用git reset --hard 版本号恢复到指定的版本
- 同步
git push 仓库名 分支名 同步到github.com中, origin为默认仓库名,master为默认分支名
git remote 查看远程默认仓库名
git fetch 同步代码到本地,手动合并(使用git diff master origin/master查看区别,然后使用git merge origin/master合并文件,然后解决文件中的冲突后提交 )
git pull 同步代码到本地,自动合并
- 分支
git branch 查看分支
git branch -a 查看所有分支(包括远程分支)
git branch 分支名 创建一个新的分支
git branch --merged 查看和当前分支合并过的分支列表
git branch --no-merged 查看和当前分支没有合并的分支列表
git branch -d 分支名 删除合并过的分支(未合并过的分支不可删除)
git branch -D 分支名 强制删除分支
git checkout 分支名 切换到指定的分支
git checkout -b 分支名 创建一个新的分支并切换到新分支上
git merge 分支名 合并一个分支到当前分支
- 标签
git tag 查看标签
git tag 标签名 创建标签
git push origin 标签名 同步到版本库
- 开源项目协同
fork 复制一个开源项目到自己的仓库
pull request 修改好后发一个修改推送