赞
踩
- 一.分支查看
-
- 1.查看本地分支
- git branch : 只显示本地分支名称
- git branch -v : 显示分支名称,当前提交点的哈希值,提交记录信息
- git branch -vv : 显示分支名称,当前提交点的哈希值,提交记录信息,追踪的远程分支
-
- 2.查看所有分支
- git branch -a : 显示所有分支(本地+远程)
- git branch -r : 显示所有远程分支
-
- 3.切换本地分支
- git checkout <目标分支名称>
-
-
- 二.分支拉取
-
- 1.创建并切换到该分支
- git checkout -b [本地分支名称] <目标分支名称>
-
- 2.从目标分支创建本地分支,如果没有指定目标分支,默认为当前分支
- git branch [本地分支名称] <目标分支名称> : 只是拉取了本地分支(关联了远程分支),并未切换到此分支
- 例:git branch test origin/test
-
- 3.直接拉取远程分支到本地
- git pull origin <目标分支名称>:<本地分支名称> : 只是拉取了本地分支,并未切换到此分支,未关联远程分支
- 例:git pull origin fix-new:fix-new
-
- 4.使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,本地分支不会和远程分支建立映射关系
- git fetch origin 远程分支x:本地分支x
-
- 5.本地分支关联远程分支
- 先切换到本地分支,然后执行:
- git push --set-upstream origin <远程分支名>
-
-
- 三.分支删除
-
- 1.删除本地分支
- git branch -D <目标分支名称>
-
- 2.删除远程分支
- git push -d origin <目标分支名称> 或者
- git push origin : <目标分名支称>
-
-
- 四.分支推送
- 1.推送本地分支到远程
- git push origin <目标分名支称> : 简单推送到远程
- git push -u origin <目标分名支称> : 推送远程并创建关联
-
-
- 五.分支重命名
- 1.git branch -m [旧名称] <新名称>
-
-
- 六.代码提交
- 1.查看文件状态
- git status
-
- 2.添加文件到暂存区
- git add . : 添加全部
- git add 文件名[全限定文件名] : 添加指定文件
- git reset HEAD : 全部移除暂存区
- git reset HEAD 文件名[全限定文件名] : 将指定文件移除暂存区
- 例:git add src/main/java/com/touchealth/task/job/myTE.java
- git checkout -- [全限定文件名] : 放弃某个文件的修改
- git checkout . : 放弃全部修改
-
- 3.把暂存区文件提交到版本库
- git commit -m "message....."
-
- 4.推送到远程
- git push
-
-
- 七.贮藏
- 1.将未保存的代码添加到贮藏区
- git stash -m 'message......'
- git stash : 默认保存最近一次的提交message
-
- 2.查看贮藏区内容
- git stash list
-
- 3.恢复某次储藏信息
- git stash apply stash@{index} : index --> 贮藏区索引
-
- 4.删除贮藏信息
- git stash drop stash@{index}
-
-
- 八.撤销修改
- git revert <commit> : 撤回一个提交点,新增一个撤回的提交
- git push
-
- 九.提交记录查看
- git log : 查看提交记录
- git log --abbrev-commit : 查看短的Hash值
- git show :
-
-
- 十.遴选
- 1.将一个分支的提交点遴选到另一个分支
- 切换到目标分支,然后 git cherry-pick 哈希值
- 例如:git cherry-pick ca8a431
-
- 2.将一个分支的多个点压缩为一个提交点
- git rebase -i HEAD~N : 从最新一次的提交点压缩到第N个提交点
- git rebase -i 哈希值 : 从最新一次的提交点压缩到哈希值这个点
- git cherry-pick <commit1> <commit2> <commit3> : 合并多个提交点
- git cherry-pick <commit1>..<commit3> : 从第一个点合并到第三个点(start,end]
- git cherry-pick ..<commit3> : 若省略了区间形式的起点,则起点默认为两个分支的交点
-
- se nu : 显示pick的行数
- x,y s/pick/s : 从第x行pick到第y行
-
- 如果想看 HEAD 指向,可以通过 cat .git/HEAD 查看, 如果 HEAD 指向的是一个引用,还可以用 git symbolic-ref HEAD 查看它的指向
-
-
- 十一:提交点位置
- 1.git checkout C1 : 查看HEAD位置
-
- 2.使用 ^ 向上移动 1 个提交记录,使用 ~<num> 向上移动多个提交记录,如 ~3
- 以 master^ 相当于“master 的父节点”
- master^^ 是 master 的第二个父节点
-
- 3.git branch -f master HEAD~3
- 上面的命令会将 master 分支强制指向 HEAD 的第 3 级父提交。
-
-
- 十二:撤销变更
- 1.git reset : 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。
- git reset : 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。
- git reset HEAD~1 (注意:仅适用本地分支)
- 2.git revert : 新增一个提交点撤销某次提交
- git revert HEAD~1
-
-
- 十三:变基
- 1.git rebase --onto <newbase>:
- newbase指的是需要rebase代码的起点,newbase可以是分支(branch),
- 也可以是任意的提交记录(commit1)。rebase成功后,将以newbase为代码分支起点

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。