git使用

作者: lesdom | 来源:发表于2019-04-12 21:08 被阅读0次

    git仓库

    git.jpg
    • Remote: 远程主仓库;
    • Repository:本地仓库;
    • Index:暂存区;
    • workspace:本地工作区(即你编辑器的代码)

    基础

    ssh关联远程git和本地电脑

    1、生成密钥对

    ssh-keygen -t rsa -C "xxx@xx.com"
    

    2、查看公钥并复制

    cat ~/.ssh/id_rsa.pub
    

    3、登录账户并添加ssh key
    4、验证是否添加

    ssh -T git@github.com
    

    5、账户的信息存放在C:\Users\admin下的.gitconfig文件中,可以修改邮箱和显示的用户名

    1、git clone

    git clone 从远程主机克隆一个版本库

    git clone https://github.com/jquery/jquery.git
    

    git clone -o 从远程主机克隆一个版本库并指定主机名

    git clone -o jQuery https://github.com/jquery/jquery.git
    
    克隆某个指定分支的代码

    develop为分支名,XXX为地址。

    git clone -b develop XXX
    

    2、git remote

    克隆版本库的时候,所使用的远程主机自动被Git命名为origin。

    git remote 列出所有远程主机。
    git remote -v 列出所有远程主机及网址。
    git remote show <主机名> 可以查看该主机的详细信息。
    git remote add <主机名> <网址> 添加远程主机。
    git remote rm <主机名> 删除远程主机。
    git remote rename <原主机名> <新主机名> 重命名远程主机。

    3、git fetch

    将某个远程主机的更新,全部取回本地。
    git fetch <远程主机名> <分支名> 取回特定分支的更新,可以指定分支名。

    拉取

    git pull

    取回远程主机某个分支的更新,再与本地的指定分支合并。

    git pull <远程主机名> <远程分支名>:<本地分支名>
    

    dev 更新 dev

    // dev分支
    git pull origin dev
    

    拉取代码前,一般也都会先添加和提交本地文件,否则有时候拉去不下来

    git add .
    git commit -m 'xx'
    git pull origin dev
    

    更新代码

    将远程主分支拉取到本地
    方式一

    git checkout develop_tf
    git pull origin master
    

    方式二

    git checkout master
    git pull origin master
    git checkout develop_tf
    git merge master
    

    提交

    git status 查看工作区状态
    git add 将所有修改加入暂存区,实现工作区到暂存区的代码提交。
    git commit 将代码提交到本地仓库,实现暂存区到本地仓库的代码提交。
    git push 将本地仓库代码更新到远程仓库,实现本地仓库到远程仓库的代码提交。

    git push

    将本地分支的更新,推送到远程主机。

    git push <远程主机名> <本地分支名>:<远程分支名>
    

    demo

    git status
    git add .
    git status
    git commit -m "提交描述"
    git status
    git pull origin dev
    git push origin dev
    

    强行推送到远程

    一般是在本地先回到到某一版本号(git reset --hard commitid),然后再强行推送到远程。线上的版本会回到推送的这一版,并且此版本之后的都会丢失。
    git push -f 强行推送

    撤销

    当你使用git status命令后,窗口会告诉你当前仓库区域的状态,且提示你撤销的操作命令
    未使用git add
    git checkout -- demo 修改了工作区的demo文件但未提交到暂存区
    git checkout . 撤销本地所有文件的修改
    已使用git add
    git reset HEAD demo 修改了工作区的demo文件并且通过git add 提交暂存区但未提交本地仓库
    git reset HEAD . 撤销本地所有文件的修改
    已使用git commit
    git reset --hard HEAD^ 修改了工作区的demo文件并且已经提交到本地仓库了。回退到上一次commit
    git reset --hard commitid(版本号) 回退到任意版本

    git log 查询版本号

    分支

    创建分支

    git checkout -b <本地分支名> 创建并切换分支
    git push origin <本地分支名> 创建远程分支,(因为远程没有此分支,所以会新建)

    关联远程分支

    git branch -vv 查看本地分支与远程分支的关联
    git branch --set-upstream-to=origin/<远程分支名> 手动关联远程分支
    git push --set-upstream origin <本地分支名> 创建远程分支并与本地分支关联

    查看分支

    git branch 查看本地分支。
    git branch -a 查看所有分支。
    git branch -r 查看远程分支。

    切换分支

    git checkout <本地分支名> 切换本地分支。

    合并分支

    git merge 合并分支。
    git rebase 合并分支。

    git merge master // 合并本地分支master
    git merge origin master // 合并远程分支master
    
    dev 合并到 master

    切换到本地master分支

    git pull origin dev
    git push origin master
    
    合并分支流程

    1>每个人都有各自的分支
    方式一:一个人负责合并分支
    1、所有开发的分支都提交到自己的远程分支(包括自己的)

    git add .
    git commit -m "提交描述"
    git push origin develop_tf
    

    2、在主分支上更新远程主分支的代码

    git checkout master
    git pull origin master
    

    3、在各个分支上更新远程各个分支的代码

    git checkout develop_tf
    git pull origin develop_tf
    

    4、在主分支上合并各个分支的代码

    git checkout master
    git merge develop_tf
    

    5、将主分支代码提交到远程主分支

    git push origin master
    

    方式二:每个人都负责合并分支
    1、将自己的分支代码提交到自己的远程分支

    git add .
    git commit -m "提交描述"
    git push origin develop_tf
    

    2、在主分支上更新远程主分支的代码

    git checkout master
    git pull origin master
    

    3、在主分支上合并自己分支的代码

    git checkout master
    git merge develop_tf
    

    4、将主分支代码提交到远程主分支

    git push origin master
    

    2>多个人在同一个分支上开发
    1、先提交到本地仓库

    git add .
    git commit -m "提交描述"
    

    2、拉取远程代码

    git pull
    

    3、如果有冲突,将冲突解决后重新添加提交

    git add .
    git commit -m "提交描述"
    

    4、提交到远程

    git push
    

    删除分支

    git branch -d <本地分支名> 删除本地分支。

    问题

    1、fatal: Authentication failed for 'http://******** 身份验证失败

    git config --system --unset credential.helper
    

    文档

    官网
    阮一峰
    廖雪峰
    游戏闯关教程

    网站导航

    网站导航

    相关文章

      网友评论

          本文标题:git使用

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