Git 部分指令
git 常用指令记录
切换当前工作分支
git fetch <库> //checkout之前可以先fetch一下
git checkout origin/Test//切换到origin 的Test分支
git checkout -f -B Test origin/Test //本地建一个与远程同步的Test分支
git checkout -f -B <切换到的分支> <commit 版本号> //退回之前的commit版本
未使用 git add 缓存代码时:git checkout . //放弃所有的文件修改
已经使用了 git add 缓存了代码:git reset HEAD . //放弃所有的缓存
已经用 git commit 提交了代码:**git reset --hard HEAD^ //回退到上一次commit的状态
查看某次commit修改
合并两个分支
1,将开发分支代码合入到master中
git checkout dev #切换到dev开发分支 git pull git checkout master git merge dev #合并dev分支到master上 git push origin master #将代码推到master上
查看当前工作分支
git branch -vv
git log --graph//在master分支,显示绿色
提交代码
git add .
git commit -m ""
git push origin Test//Test 指定分支
查看commit记录
git log
git log -p 文件 //查看某个文件的commit记录
git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e //查看某次commit修改
pull操作
1、将远程指定分支 拉取到 本地指定分支上:
git pull <远程仓库名> <远程分支名>:<本地分支名>
2、将远程指定分支 拉取到 本地当前分支上:
git pull <远程仓库名> <远程分支名>
3、将与本地当前分支同名的远程分支 拉取到 本地当前分支上
git pull <远程仓库名>
在克隆远程项目的时候,本地分支会自动与远程分支建立追踪关系,可以使用默认的origin来替代远程仓库名,
所以,我常用的命令就是 git pull origin <远程仓库名>,操作简单,安全可控。
push操作
1、将本地当前分支 推送到 远程指定分支上(注意:pull是远程在前本地在后,push相反):
git push <远程仓库名> <本地分支名>:<远程分支名>
2、将本地当前分支 推送到 远程指定分支上:
git push <远程仓库名> <远程分支名>
3、将本地当前分支 推送到 与本地当前分支同名的远程分支上
git push <远程仓库名>
同样的,推荐使用第2种方式,git push origin <远程分支名>
远程新建一个repository
git remote add <新建库名字> <新建库路径>//git remote add TESTR git@github.com:cluster.git
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
2. git pull:相当于是从远程获取最新版本并merge到本地
基础知识:git 有三个重要区域
1.HEAD 指向最近一次commit里的所有snapshot ,git commit -m ""
2.Index 缓存区,只有Index区域里的东西才可以被commit,即被 git add .执行后
3.working Directory 用户操作区域
checkout 分支时:
1.将HEAD指向那个分支的最后一次commit
2.将HEAD指向的commit 里所有文件的snapshot替换调Index区域里原来的内容
3.将Index区域里的内容填充到Working Directory
HEAD 、Index、Working Directory内容一样
删除本地branch
git branch -D <branch_name>
查找commit
git log --stat commitId 或者 git show --stat commitId 查看某一次提交的文件修改列表
其它
git log --oneline 或者 git log --pretty=oneline 以精简模式显示
git log --graph 以图形模式显示
git log --stat 显示文件更改列表
git log --author= ‘name’ 显示某个作者的日志
git log -p filepath 查看某个文件的详细修改
git log -L start,end:filepath 查看某个文件某几行范围内的修改记录
git diff 文件对比
git diff filepath 工作区与暂存区比较
git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
git diff --staged 或 --cached filepath 暂存区与HEAD比较
git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较
git diff commitId filepath 与某一次提交进行比较
git revert -m 1 80e36af413537a31efd521f9e8ff8b1ea70af7c9