初始化操作

$ git config -global user.name <name> #设置提交者名字
$ git config -global user.email <email> #设置提交者邮箱
$ git config -global core.editor <editor> #设置默认文本编辑器
$ git config -global merge.tool <tool> #设置解决合并冲突时差异分析工具
$ git config -list #检查已有的配置信息

创建新版本库

$ git clone <url> #克隆远程版本库,尽量使用ssh        
$ git init #初始化本地版本库

修改和提交

$ git add . #添加所有改动过的文件
            #如果想忽略某个文件,需要新建一个.gitignore文件,写入想忽略的文件名称
$ git add <file> #添加指定的文件
$ git mv <old> <new> #文件重命名
$ git rm <file> #删除文件
$ git rm -cached <file> #停止跟踪文件但不删除
$ git commit -m <file> # 提交指定文件
$ git commit -m “commit message” #提交所有更新过的文件
$ git commit -amend # 修改最后一次提交
$ git commit -C HEAD -a -amend #增补提交(不会产生新的提交历史纪录)

撤消操作

$ git reset -hard HEAD #撤消工作目录中所有未提交文件的修改内容  比如删除也可以撤销
$ git checkout HEAD <file1> <file2> #撤消指定的未提交文件的修改内容
$ git checkout HEAD. #撤消所有文件
$ git revert <commit> #撤消指定的提交
// 删除恢复例: 
$ git rm eee   # rm 'eee'              
$ git reset --hard    #也可以加上 HEAD 恢复所有删除的文件
     # HEAD is now at 9d1df48 aaaaaaaa
$ git checkout HEAD eee  #这样直接恢复单个文件,reset会将所有删除的文件都恢复
$ git checkout HEAD .      #这样是恢复所有文件
$ git revert    #回退以前的版本

查看提交历史

$ git log #查看提交历史                            # 这里查看的是所有文件的日志
$ git log -p <file> #查看指定文件的提交历史        # 如git log -e filename
$ git blame <file> #以列表方式查看指定文件的提交历史
$ gitk #查看当前分支历史纪录
$ gitk <branch> #查看某分支历史纪录
$ gitk --all #查看所有分支历史纪录
$ git branch -v #每个分支最后的提交
$ git status #查看当前状态
$ git diff #查看变更内容

分支与标签

$ git branch #显示所有本地分支
$ git checkout <branch/tagname> #切换到指定分支或标签
$ git branch <new-branch> #创建新分支
$ git branch -d <branch> #删除本地分支
$ git tag #列出所有本地标签
$ git tag <tagname> #基于最新提交创建标签
$ git tag -d <tagname> #删除标签

合并与衍合

$ git merge <branch> #合并指定分支到当前分支
$ git rebase <branch> #衍合指定分支到当前分支
$ git checkout dev    #切换分支
$ touch 分支two测试  #分支创建一个文件

$ git checkout test-branch
$ git merge two         #最后ls查看就能看到two创建的文件了

远程操作

$ git remote -v #查看远程版本库信息
$ git remote show <remote> #查看指定远程版本库信息
$ git remote add <remote> <url> #添加远程版本库
$ git fetch <remote> #从远程库获取代码
$ git pull <remote> <branch> #下载代码及快速合并
$ git push <remote> <branch> #上传代码及快速合并
$ git push <remote> : <branch>/<tagname> #删除远程分支或标签
$ git push -tags #上传所有标签

Git命令图解

在这里插入图片描述

Xmind转载来源:Linux公社

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐