1.创建本地与远程分支
先创建远程分支,再创建本地分支,再将本地分支与远程分支关联
git fetch origin 远程分支名git checkout remote_branch 或者 git checkout -b local-branch origin/remote_branch 将远程分支映射到本地命名为local-branchname的分支先创建本地分支,再将本地分支推送的远程,创建远程分支
git checkout -b local-branchgit push origin local-branch 将本地分支推送至对应远程分支,若对应远程分支不存在,会被新建2.撤销修改
撤销工作区的修改
git checkout -- <file> 撤销指定文件git checkout . 撤销指定目录的所有文件暂存区的修改撤回工作区
git reset HEAD file版本库后退
git revert HEAD 撤销当前版本git revert HEAD^ 撤销上个版本版本回退
git reset --hard commit_id 回退到指定版本,工作目录中修改被丢弃,执行push之前回退git revert commmit_id 新提交回退到指定版本,执行push之后回退git reflog 查看命令历史
git log 查看commit历史3.查看远程主机信息
git remote -v 查看远程主机和网址
git remote add <主机名> <网址> 添加远程主机4.查看分支信息
git branch -vv 本地分支与远程分支的对应关系
git branch --set-upstream local origin/remote 跟踪远程分支5.git add 相关
git add -A stages All
git add . stages new and modified, without deletedgit add -u stages modified and deleted, without newgit add -i 交互式暂存6.重命名或移动文件
git mv <原文件名称> <新文件名称>
7.直接提交所有文件
git commit -a stages All and repo All8.git tag 相关
查看标签
git tag 查看所有标签
git tag -l "xxx.xx*" 查看模式匹配的标签git show [tagName] 查看标签的版本信息打标签
git tag [tagName] 创建本地轻量标签
git tag -a [tagName] -m [comment] 创建本地附注标签git tag -a [tagName] [commit_id] 创建指定版本的标签git push origin [tagName] 创建远程标签git push origin --tags 推送本地所有标签切换到标签
git checkout [tagName]
删除标签
git tag -d [tagName] 删除本地标签
git push origin :refs/tags/[tagName] 删除远程标签9.本地分支与远程分支不同名
git push origin local-branch:remote-branch
10.git config
git config --global user.name [username]
git diff 显示合并冲突文件,比较工作区与暂存区的差异
git diff --base <filename> 查看某个合并冲突文件
git diff <branchA> <branchB> 对比分支差异(patch)
git diff [branchA]…[branchB] 对比分支差异
git diff --cached 暂存区和上次提交的差异
git diff HEAD 工作区和上次提交的差异
git diff [tag] 自从某个版本之后都改动了什么
12.git 删除和重命名文件
# 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] ...# 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]# 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]
13. 查看单个文件历史
# 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]$ git whatchanged [file]# 显示指定文件相关的每一次diff
$ git log -p [file]
14.查看所有用户修改历史
# 显示所有提交过的用户,按提交次数排序
$ git shortlog -sn# 显示指定文件是什么人在什么时间修改过
$ git blame [file]
15. git blame用法
git blame [file] 显示指定文件的修改历史,每行由谁在什么时间修改的,显示顺序依次为: 版本号、作者、时间、行号 、代码行
git blame [filename] -L 开始行号,结束行号 显示指定行号区间的文件内容改变,在文件行数较多时有用
16. git show的一些用法
git show [commit_id] 查看某次commit修改了哪些内容
git show commitId --name-only 查看某次commit修改了哪些文件,只列举文件名
git show commitId --name-status 查看某次commit修改了哪些文件,列举文件名和状态
git show HEAD 查看HEAD标签当前指向的提交的完整信息
git show master 查看master分支最新一次提交的完整信息
git show master^或git show master~ 查看master分支最新一次提交的父提交的完整信息
git show master^2 查看master分支最新一次提交的第二个父提交(也就是父提交的父提交)的完整信息