美文网首页
Git 常用命令

Git 常用命令

作者: 鸡蛋灌烧饼 | 来源:发表于2020-03-22 21:10 被阅读0次

    Git 现在很多公司都在使用,下面罗列出开发过程中常见的命令.

    配置Git 生成ssh key

    Merge 保存并强制退出编辑模式:wq!

    git config --list //查看当前配置
    git config --global --list //查看全局配置
    git config user.name "xxx" //配置当前用户名
    git config user.email "xxx" //配置当前邮箱
    git config --global user.name "xxx" //配置全局用户名
    git config --global user.email "xxx" //配置全局邮箱
    ssh-keygen -t rsa -C "your_email@example.com" //生成ssh key
    ssh-keygen -t rsa -C "xugang2801779@126.com" -f .ssh/id_rsa_private //指定生成文件的名称,常用于一台电脑配置多个密钥
    

    同一台电脑生成不同密钥示例

    背景:一台电脑工作和学习分开。一个ssh密钥连接公司的git;另一个连接github或者gitee

    1. 使用以上命令生成两组key


      image.png
    2. 新建config文件内容如下配置

    # 个人的GitHub公钥
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    # 指定特定的ssh私钥文件
    IdentityFile ~/.ssh/id_rsa_private 
    
    # 个人的giee公钥
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    # 指定特定的ssh私钥文件
    IdentityFile ~/.ssh/id_rsa_private
    
    # 公司的git
    Host xxxxxx
    HostName xxxxxxx
    PreferredAuthentications publickey
    # 指定特定的ssh私钥文件
    IdentityFile ~/.ssh/id_rsa  
    
    1. 在各个Git后台添加对应的公钥之后进行连接测试
    //测试GitHub 连接
    ssh -T git@github.com
    //测试gitee连接
    ssh -T git@gitee.com
    
    1. 结果,如果连接成功则会打印相关信息
    //大概意思就是xxx,连接成功,github 不提供shell访问
    Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access
    

    Git 常用命令

    命令 描述 备注
    git init 把当前目录变成可以管理的git仓库,生成git文件
    git remote add origin 你的git项目地址 将本地仓库和远端仓库关联起来
    git remote -v 查看远端仓库
    git remote rm origin 删除指定的远程
    git clone [GIT_DEPO] 从远端仓库克隆
    git status 查看仓库状态
    git diff 查看改动内容 使用status命令看到有改动,可以使用diff命令查看改动细节
    git log 查看日志 q 退出查看状态
    git add --a 把文件添加到暂存区 使用status可以查看到文件被git跟踪,呈现绿色
    git commit -m "message" 提交 [message] 为提交的描述语句使用“”包裹
    git pull origin [BRANCH_NAME] 把远端改动同步到本地 指定远端分支,即将远端xxx分支同步到本地当前分支
    git push origin [LOCAL_BRANCH]:[REMOTE_BRANCH] 将本地分支推到远端分支 远端没有分支会自动创建
    git branch 查看本地分支 *标识的当前分支;q退出查看模式
    git branch -a 查看所有分支 远端和本地分支不同颜色区分的
    git checkout [BRANCH_NAME] 切换到某个分支 分支名tab可以快速补全
    git checkout -b [LOCAL_BRANCH_NAME] origin/[REMOTE_BRANCH_NAME] 将远端分支拉到本地,并且以LOCAL_BRANCH_NAME命名
    git stash 将本地当前分支改动保存到暂存区 不会产生commit 记录
    git stash pop 将暂存区保存的改动同步到本地当前分支 可能会有冲突
    git push origin [BRANCH_NAME] --force 强行将本地分支推到远端
    git rm -r --cached [FILE_NAME]/[FOLDER_NAME] 取消跟踪某文件或者文件夹
    git branch -d [BRANCH_NAME] 删除本地某分支
    git push origin --delete [BRANCH_NAME] 删除远端分支
    git reset --h [COMMIT_ID] 将本地HEAD 指向某commit,此命令会导致指定commit之后的版本被删除 没有指定commit 默认指向最近commit,此时如果要推到远端需要使用git push origin xxx -force,此操作不会产生记录,比较粗暴,谨慎使用
    git revert 删除指定分支,不会对之后的commit产出影响,但是可能会产生冲突 reset不同的是此命令确实会将某个版本的改动还原,但是会生成一个新的commit,这种方法比较安全,但是会产生冲突
    git tag 查看已有的tag
    git tag [TAG_NAME] -m "message" -a 给当前代码打一个Tag
    git show [TAG_NAME] 查看TAG详情
    git push origin [TAG_NAME] 将TAG推送到远端
    git push origin --delete tag [TAG_NAME] 删除远端tag git tag -d [TAG_NAME]删除本地TAG

    相关文章

      网友评论

          本文标题:Git 常用命令

          本文链接:https://www.haomeiwen.com/subject/hdzsehtx.html