Git 常用命令流程图
Git常用操作命令:
初始化
创建:$ git init //
检出仓库:$ git clone git://github.com/jquery/jquery.git
配置email:$ git config --global user.email "you@example.com"
配置用户名:$ git config --global user.name "Name"远程仓库相关命令
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push [name] [newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
抓取远程仓库更新:$ git fetch本地更新操作
查看提交记录:$ git log
检查修改状态:$ git status
查看详细修改内容:$ git diff
显示某次提交的内容:$ git show
将文件添加到暂存区:$ git add <filename> // 单个文件名称 或者 $ git add . // 所有文件添加
删除add操作:$ git rm -r --cached <filename>
提交到暂存区:$ git commit -m “提交信息”
提交到远程master分支:$ git push origin master
推送远程仓库:$ git push [remoteName] [localBranchName]撤销操作
某个文件索引会回滚到最后一次提交:$ git reset <filename>
索引会回滚到最后一次提交 : $ git reset
索引会回滚到最后一次提交:$ git reset --hard
撤销修改:$ git checkout --filename //丢弃工作区的修改分支(branch)操作相关命令
创建名叫“branch_name”的分支,并切换过去:$ git checkout -b [branch_name]
切换回主分支 : $ git checkout master
删除名叫“branch_name”的分支:$ git branch -d [branch_name]
推送分支到远端仓库:$ git push origin [branch_name]
合并分支branch_name到当前分支(如master):$ git merge [branch_name]
衍合,线性化的自动 : $ git rebase冲突处理操作
对比workspace与index :$ git diff
对于workspace与最后一次commit :$ git diff HEAD
对比差异:$ git diff <source_branch> <target_branch>
修改完冲突,需要add以标记合并成功:$ git add <filename>版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
合并远程仓库的tag到本地:$ git pull origin --tags
上传本地tag到远程仓库:$ git push origin --tags
创建带注释的tag:$ git tag -a [name] -m 'yourMessage'-
子模块(submodule)相关操作命令
添加子模块:$ git submodule add [url] [path]
如:$git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行
更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下
删除子模块:(分4步走哦)- $ git rm --cached [path]
- 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
- 编辑“ .git/config”文件,将子模块的相关配置节点删除掉
- 手动删除子模块残留的目录
忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db