Git使用

作者: 媳妇熬成婆 | 来源:发表于2020-11-01 18:10 被阅读0次

    Git是什么?

    git是一个代码版本管理工具,相当于在Windows中有不同的文件夹,不同文件夹存放着各个版本的代码

    git的工作区域:工作区    add  ->    暂存区   commit   ->    git本地仓库   ->  push  远程仓库

    Git怎么用?

    本地库操作

    git  命令名  --参数

    查询配置信息:git config --list 

    1,设置签名,此命令有级别区分

         项目级别/仓库级别

        设置用户名 :git config user.name 'myname'

        设置用户名邮箱:git config user.email '27811XXX@qq.com'

        系统级别

        设置用户名 :git config --global user.name 'myname'

        设置用户名邮箱:git config --global user.email '27811XXX@qq.com'

        级别优先级

        就近原则:如果项目级别和系统级别二个都有则使用项目级别,如果只有系统级别则使用系统级别,二者都没有不允许

        该设置在远程仓库中显示谁提交了该文件,跟你在登录远程仓库的用户名和密码是没有关联的

    2,查看git工作区,暂存区的状态

        git status

    3,把工作区的新建和修改添加到暂存区

        git add test.java

    4,从暂存区移除文件

        git rm --cache test.java

    5,从暂存区提交文件到Git本地仓库

        git commit -m"说明描述" test.java

    6,查看git仓库的历史版本

        展示版本的全部信息:git log

        展示版本的精简信息:git log --pretty=oneline,此命令只显示后面的版本

        展示版本的精简信息带版本角标:git reflog 

    7,回退历史版本

        使用 git reflog 查看本地仓库的历史版本

        git reset --hard 索引值 

        只能后退:git reset --hard HEAD^  一个^后退一步

        只能后退:git reset --hard HEAD~n  后退n步

        reset 的 hard soft mixed

        soft:只移动本地仓库,mixed:移动本地仓库和暂存区,hard:本地仓库,暂存区,工作区都移动

    8,比较文件

        git diff 文件名 :工作区和暂存区进行比较

        git diff 本地库中历史版本  文件名:工作区中的文件和本地库历史记录进行比较

    9,查看分支

        git branch -v 

    10,新建分支

        git branch hot-fix

    11,切换分支

        git checkout hot-fix

    12,合并分支(主分支,和新建分支,提交内容到了本地版本库上都会产生操作日志reflog 可以看到主分支和新建分支的提交操作)

        需要先切换到(被合并,需要新加文件的分支上)

        git merge 另一个分支名字

    13,解决冲突

        当合并分支的时候,不同分支修改了同一个文件的同一个位置 则会发生冲突

        

    冲突的表现

    14,解决冲突

        1,git merge 另外一个分支,发生冲突

        2,和另一个分支的作者协商修改冲突文件

        3,修改好冲突文件后,git add , git commit -m "日志"  这里需要注意 commit 后不需再加文件名否则报错

    15,git 删除分支

         1 先切换到别的分支: git checkout dev20180927

      2 删除本地分支: git branch -d dev20181018

      3 如果删除不了可以强制删除,git branch -D dev20181018

    远程库操作

    1,查看关联的远程仓库地址:git remote -v

    2,增加关联远程仓库:git remote add origin(地址关联的名字) 远程仓库地址

    3,删除关联远程仓库地址:git remote rm 关联名字

    4,本地仓库推向远程仓库:git push origin master 如果是https的地址此时会需要进行远程仓库的账号登录

    5,克隆远程仓库到本地:git clone 远程仓库地址

        git clone 会进行 1,完整的把远程仓库下载到本地。2,创建origin远程地址别名。3,初始化本地库

    6,拉取命令git pull 远程库地址别名 远程分支名      pull = fetch + merge 

        git fetch 远程库地址别名 远程分支名

        git merge 远程库地址别名/远程分支名

    7,git 从远程仓库中克隆指定分支

        git clone -b dev 远程仓库地址

    8,将本地分支推送到远程仓库

        git push origin(关联地址别名) 本地分支名:远程分支名

    Git操作本地仓库三步骤

    删除文件

    1,工作区删除文件

    rm test.java

    2,从暂存区删除文件

    git rm test.java

    3,提交操作到Git本地仓库

    git commit -m "提交描述"

    新增文件

    1,工作区新增文件

    add test.java

    2,加入暂存区

    git test.java

    3,提交到Git本地仓库

    git commit -m "提交描述"

    Git SSH免密登录

    1,ssh-keygen -t rsa -C(大写) 远程仓库邮箱

    2,在根目录下找到 .ssh  (~ /.ssh) 里面的 id_rsa.pub

    3,把id_rsa.pub的内容放到远程仓库的 SSH设置里面,new SSH key,生成 ssh key

    4,本地git  使用  git  remote add origin_ssh ssh地址 进行地址关联

    5,使用 git push origin_ssh master 即可免密码进行推送

    Git报错解决方法

    报错:The request URL returned error:403 Forbidden while accessing

    原因:私有项目,没有权限,输入用户名和密码

    解决:进入 .git / config  将 [remote "origin"]  url  =   https://github.com/用户名/仓库名.git  修改为 [remote "origin"]  url  =   https://用户名:密码@github.com/用户名/仓库名.git

    ----------------------------------------------------

    报错:cannot do a partial commit during a merge

    原因:在合并的状态下加了文件名进行提交 git commit -m "resolve conflict" test.java

    解决:不需要带文件名,直接使用 git commit -m"日志" 即可

    ---------------------------------------------------------

    报错:

    原因:解决冲突完后,直接commit了,需要先进行 add

    解决:先进行 git add 然后  git commit -m

    ---------------------------------------------------

    报错:

    原因:本地仓库push到远程仓库报错,没有权限,没有加入到开发团队

    解决:远程仓库账号需要加入开发团队

    -----------------------------------------

    报错:

    原因:远程仓库的代码是最新的,本地仓库代码比较落后

    解决:先 git pull 更新本地仓库代码解决冲突后在 git push 到远程仓库

    -------------------------------------------

    报错:

    原因:拉取的远程仓库分支名字错误

    解决:修改正确的分支名

    --------------------------------

    报错:

    原因:分支未完全合并

    解决:使用强制删除,或者先进行合并

    相关文章

      网友评论

          本文标题:Git使用

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