Git 常用命令总结
1.拉取服务端代码
//从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git fetch origin master:temp
$ git diff temp //比较差异
$ git merge temp //合并
$ git branch -d temp // 删除临时分支
Push gerrit服务器失败,报unpacked错误时,
error: remote unpack failed: error Missing tree f96fac296102de08f1669b4febdc179a74a03e89
可尝试通过 git push --no-thin origin HEAD:refs/for/master 提交
--no-thin这个参数的含义是“在向服务器提交代码时不对信息进行压缩处理”
git恢复误删本地分支一:
1. git log -g 找回之前提交的commit,并记下commit_id
2. git branch newbranch commit_id
3. 切换到newbranch分支,检查文件是否存在。
git恢复误删本地分支二:
先新建一个分支来接收(拷贝)被删除的分支
git branch 9.4.0_cp并且切换到当前分支
使用git rebase commit_id将删除分支内容拷贝到当前分支
Git 删除stash
git stash drop 编号
如: git stash drop stash@{0} 这是删除第一个队列
git stash clear
清空stash列表
git pull --rebase
git stash save “Save”
git stash save -u "Commit"
git stash list 查看暂存列表
git stash pop 出栈最新一次暂存操作
git branch -D master_x 删除分支
git pull origin master 拉取远程master 与本地关联
提交代码到远程仓库 review
git push origin HEAD:refs/for/master
pwd
命令用于显示当前目录
git branch -vv 查看关联关系
6、把某个分支上的内容都拉取到本地
git pull origin dev(远程分支名称)
7.拉取远程创建本地分支 (本地和远程分支会自动创建关联)
git checkout -b audit origin/audit
8.git pull 拉取所有远程分支
9.拉取远程分支合并到当前分支:
git pull origin audit(分支名)
reset命令有3种方式:
git reset --mixed:此为默认方式,不带任何参数的git reset,即使这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
以下是一些reset的示例:
(1) 回退所有内容到上一个版本
$git reset HEAD^
(2) 回退a.py这个文件的版本到上一个版本
$git reset HEAD^ a.py
(3) 向前回退到第3个版本
$git reset --soft HEAD~3
(4) 将本地的状态回退到和远程的一样
$git reset --hard origin/master
(5) 回退到某个版本
$git reset 057d
(7) 回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit
$git revert HEAD