盘点那些开发中经常用到的git命令

入职第一天

  • 配置邮箱账号

    git config —global user.email "XXXX"
    git config —global user.name "XXXX" 
    
  • 生成公钥

    ssh-keygen -t rsa -C "你的邮箱"
    

    生成的文件默认在c盘:/用户/当前用户/.ssh文件夹下,也可以指定文件
    盘点那些开发中经常用到的git命令_第1张图片

    打开git网页,点击右上角个人头像–settings
    盘点那些开发中经常用到的git命令_第2张图片

    选择SSH keys,把文件内容复制到key里面,然后点击Add Key按钮就完成了公钥配置
    盘点那些开发中经常用到的git命令_第3张图片

  • 把远程代码下载到本地:

    git clone git地址
    
  • 切换分支

    git checkout 分支名   切换本地已经存在的分支
    git checkout -b 新分支名 基于当前分支,创建本地新分支
    git checkout -b 新分支名 origin/远程分支名  基于远程分支,创建本地新分支
    

正常工作中

  • 提交代码

    git add . 选中所有修改文件,也可以指定文件目录或者文件
    git commit -m "备注内容" 
    
  • 推送本地代码到远程仓库

    git push 默认推送当前分支到远程仓库
    git push origin <分支名> 推送指定分支到远程仓库相同的分支
    git push origin <本地分支名>:<远程分支名> 推送本地分支到远程仓库指定分支,适合本地分支与远程分支不同命的情况
    git push -f 强制把本地分支推送到远程仓库
    
  • 把远程仓库的代码合并到本地分支

    git pull <远程主机名> <远程分支名>:<本地分支名>
    git pull 默认把远程仓库的分支合并到本地当前分支
    
  • 放弃文件的修改

    git checkout ./文件名/文件路径 把改动的地方还原
    
  • 撤回commit

    git reset HEAD^          回退所有内容到上一个版本  
    git reset HEAD^ 文件路径  回退XX文件的版本到上一个版本  
    git reset  版本号         回退到指定版本,但是改动还在,只是变成了未commit
    git reset --hard 版本号   回退到指定版本,改动没有了
    
  • 在某个分支上开发到一半,突然要去另外一个分支修改问题

    git stash "备注"  把当前修改储藏起来
    git checkout XXX 切换到其他分支把问题修改完成后,再切换回本分支
    git stash pop 把刚才的改动取出来,记录也被删除
    git stash list 查看储藏记录
    git stash apply stash@{n} 取出指定的储藏记录,记录不会被删除
    
  • 开发了一段时间,自己分支与合并分支相差很大

    git rebase origin/合并分支名     把合并分支代码同步到自己分支,使用rebase在提交合并请求的时候,只看到自己提交的commit.
    
  • 某个commit需要合并到2个以上分支

    git cherry-pick commit-id
    
  • 工作中某天突然切换了git仓库

    git remote set-url origin 新git仓库地址  修改git仓库地址
    

你可能感兴趣的:(技术博客,git,gitlab)