Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,,上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。
现在,我们要把当前版本A ,回退到上一个版本“B”,就可以使用git reset命令:
` git reset --hard HEAD^`
HEAD is now at ea34578 B
也可以查询版本 :
git log pretty =oneline
显示出 所有 提交 版本记录,选择 id
执行
git rest --hard id
即可。HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令
git reset --hard commit_id
。穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。git clean -fd
git clean -xdf
用于删除本地未提交到trunk的文件
git push origin --delete
删除远程分支git branch -r
查看远程分支分支拉取master分支的代码
git checkout master
git pull
git checkout Usage-Report
git merge master
git push
远程仓库相关命令 检出仓库:
git clone git://github.com/jquery/jquery.git
查看远程仓库:
git remote -v
添加远程仓库:
git remote add [name] [url]
删除远程仓库:
git remote rm [name]
修改远程仓库:
git remote set-url -- push [name][newUrl]
拉取远程仓库:
git pull [remoteName] [localBranchName]
推送远程仓库:
git push [remoteName] [localBranchName]
分支(branch)操作相关命令 查看远程分支
git branch -r
查看远程和本地的所有分支
git branch -a
查看本地分支和当前分支 带*的为当前分支
git branch
创建本地分支
git branch branchName
注意新分支创建后不会自动切换为当前分支切换分支
git checkout branchName
创建新分支并立即切换到新分支
git checkout -b branchName
删除本地分支
git branch -d /-D branchName
删除远程分支
git push origin --delete BranchName
创建远程分支(本地分支push到远程)
git push origin branchName
git push origin test:master
// 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支git push origin test:test
// 提交本地test分支作为远程的test分支如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
git push origin :test
// 刚提交到远程的test将被删除,但是本地还会保存的,不用担心git checkout -b 本地分支名 origin/远程分支名
拉取远程分支到本地某个分支上git fetch origin master:tmp
//在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
git diff tmp
//来比较本地代码与刚刚从远程下载下来的代码的区别
git merge tmp
//合并temp分支到本地的master分支
git branch -d temp
//如果不想保留temp分支 可以用这步删除
查看当前详细分支信息(可看到当前分支与对应的远程追踪分支):
git branch -vv
查看当前远程仓库信息
git remote -vv
【Git|Git Study】
git pull
相当于git fetch 和merge的结合版本(tag)操作相关命令 查看版本:
git tag
创建版本:
git tag [name]
删除版本:
git tag -d [name]
查看远程版本:
git ls-remote --tags origin
创建远程版本(本地版本push到远程):
git push origin [name]
删除远程版本:
git push origin :refs/tags/[name]
若存在很多未推送的本地标签,你想一次全部推送的话,可以使用一下的命令:
git push origin --tags
子模块(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步走哦)
1)
git rm --cached [path]
- 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
- 编辑“.git/config”文件,将子模块的相关配置节点删除掉
- 手动删除子模块残留的目录
target
bin
*.db