git

有哪些常用的git操作指令

发布于 2019-11-26 09:45:26

有哪些常用的git操作指令

查看更多

浏览量
3327
猫哥
猫哥 项目组成员 2019-12-13
希望我的回答能对你有所帮助

使用git的开发工作流

  • 查看是否安装git,及版本
    git --version
  • 下载远程仓库
    git clone git@github.com:xxxx/xxx.git
  • 查看状态,查看分支信息
    git status
    git branch -a
  • 文件改动提交一次,跟踪/提交
    git add filepathandname
    git commit -m "提交描述"
  • 查看远程推送地址
    git remote -v
  • 本地文件推送到远程
    git push origin master
    git branch -a
  • 为了新功能,添加一个新的分支
    git checkout -b dev
    //内容调整跟踪/提交/上传远程
    git add .
    git commit -m "新功能"
    git push origin dev
    git branch -a
  • 合并dev到主分支
    git checkout master
    git merge dev
    //提交远程
    git push origin master
  • dev开发完成,删除
    git branch -D dev
    git branch -a
  • 删除远程分支上的dev
    git push origin :dev //表示将一个空的分支推送到远程
  • 当前版本有误,退回到上一个版本
    git reset --hard head^
  • 如果这次回退也不想要了,怎么办
    git reflog //查看提交日志找出任何一个提交的状态码 xxx
    git reset --hard xxx
3 个回答
猫哥
猫哥 项目组成员 2021-02-24
希望我的回答能对你有所帮助

git commit 【提交记录】
git commit --amend 【修复上一次的提交,不产生新的记录】

git checkout bugFix 【切换分支】【head移动】
git checkout -b bugFix 【创建新分支并切换过去】
git checkout 哈希值 【将HEAD指针指向某个哈希值记录上】
git checkout main^ 【将HEAD指向mian上一级记录】【head移动】
git checkout HEAD~4 【将HEAD指向HEAD向上4个记录】【head移动】
git checkout HEAD^2 【将HEAD移动到他的第二个父记录上】【head移动】
git checkout HEAD~^2~2 【链式操作】【~后省略了1】【解释:向上1,选父2,向上2】
git checkout -b foo o/main 【将foo与o/main进行关联】

git branch bugFix 【创建分支】
git branch bugFix main^^2^ 【在main的上级父2的上级位置创建bugFix】【创建分支】
git branch -f main HEAD~3 【强制将main分支指向HEAD向上第三条记录】【移动分支名称】
git branch -u o/main foo 【将foo与o/main进行关联】

git merge bugFix 【合并bugFix到当前HEAD分支】

git rebase bugFix img 【将img分支上的与bugFix不同的分支内容迁移到bugFix分支下】
git rebase -i HEAD~4 【将HEAD向上的4个记录,交互式重排,形成新的分支】【交互式】

git reset HEAD^ 【将分支退回到上一条记录,之前的修改存在但没有提交】【回退操作】【只对本地记录有效】
git revert HEAD 【将上一步的更改作为新的记录加入分支】
git cherry-pick C1 C2 【将多个哈希记录全部分支到HEAD分支】
git tag v1 C1 【在C1出创建v1 tag】

git fetch 【下载远程分支内容,并更新本地远程分支指针】
git fetch origin source:destination 【同时指定了来源和去向】
git fetch origin :destination 【没有source,表示在本地创建des】

git pull = git fetch + git merge 【下载远程并合并】
git pull --rebase = git fetch + git rebase 【这个效果更好一点,因为没有更多分支结构】
git pull origin source:des 【获取并合并merge】

git push 【提交本地到远程】【没有参数时这里特指将HEAD指针对应的分支同步到远程对应分支】
git push origin main 【带参数时,指定了要将本地main同步到远程main,不管HEAD指向哪里】
git push origin source:destination 【同时指定了来源和去向】【destination不存在时自动创建】【source可以使用相对位置,比如main^】
git push origin :des 【没有source参数时,表示删除远程分支des】

猫哥
猫哥 项目组成员 2019-11-26
希望我的回答能对你有所帮助

查看已近提交的代码需要用到的指令

git log //查看提交的历史
git log filename //查看某文件提交历史
git log -3 --stat //查看最近三次提交,并显示涉及哪些文件
git show hash //查看某次提交时具体的修改内容
git show hash --stat //查看某次提交时具体的哪些文件

学习
记录

发布
问题

分享
好友

手机
浏览

扫码手机浏览