zoukankan      html  css  js  c++  java
  • git仓库

    安装

    下载安装https://git-scm.com/

    安装时傻瓜式安装,不用修改选项

    安装成功后,右击,会出现:

    Git Gui ,图形化界面,一般不用

    Git Bash,一个linux终端

    GIt Bash常用命令

    clear清空终端内容

    常用命令

    初始化

    git init

    在项目目录右击git bash,初始化git,会在当前项目增加一个.git隐藏目录,那些版本备份都会在该文件夹下

    配置用户信息

    该操作一个人只要配置一次

    自报家门,在git中设置当前使用的用户是谁

    git config --global user.name "xiaoyue"

    git config --global user.email "xiaoyue@qq.com" //不一定是真实的,但一定是符合邮箱格式的

    添加到暂存区

    git add ./readme.md ./代表当前文件夹 ,没有报错代表成功

    git add . //提交全部,除了忽略文件之外

    提交到本地仓库

    git commit -m "我初始化好项目了"

    -m : --message 提交信息,方便以后查看时,知道本次提交做了些什么

    查看状态

    git status

    若工作区是干净的,表示没有修改。没有要提交到暂存区的文件,也没有要提交到本地仓库的文件

    红色代表有修改代码,但是还没有提交到暂存区

    绿色表示有修改,没有提交到本地仓库

    一次性提交所有

    git commit --all -m "一些说明"

    提交到远程仓库

    git push 【远程地址】 【分支名】 提交到远程仓库master分支

    ​如果是第一次提交,会需要填写用户名和邮箱什么的

    ​把当前分支的内容上传到远程的master分支

    git remote add 【给该远程地址起的名字origin】 【远程地址】 设置一个远程的路径

    查看所有添加的远程地址git remote -v

    ​设置完之后,再次提交时可以这样写git push origin master

    git push --set-upstream 【远程地址的名字】 master 如果不想每次都填写远程地址,就可以设置一次默认的远程地址和默认的分支,--set-upstream可以缩写为-u

    ​设置完之后,在提交时就可以这样写 git push

    拉取远程仓库的内容

    方式一:pull

    git pull 【远程地址】 【分支名】

    会把远程分支的数据得到,注意一定先要git init初始化一下

    如果本地也有内容,拉取时就会合并,如果有冲突,自己手动处理冲突

    如果想直接git pull,那你需要在push时用一次-u

    git remote add 【给该远程地址起的名字origin】 【远程地址】

    git push --set-upstream 【远程地址的名字】 master

    方式二:clone

    git clone [远程地址]

    注意一定先要git init初始化一下

    把项目整个克隆下来,多克隆几次会覆盖本地,所以小心使用

    查看提交日志/记录

    git log //多行显示日志

    git log --oneline //查看简洁版日志

    git reflog//可以看到所有提交和切换的记录

    回溯到之前的版本

    方式一

    先查看提交日志有几条记录,记录是上面最新下面最旧,从上往下一次为0迭代

    git --hard Head~0 回溯到上一次的版本

    git --hard Head~1 回溯到上上一次的版本

    git --hard Head~2 回溯到上上上一次的版本

    回溯完后,你的日志记录就只有回溯之前的了

    方式二

    git --hard '日志id' //回溯到准确的某个地方

    ,虽然log只显示之前的记录,但是你还是能通过日志id直接通过此方式进行回溯

    分支

    git branch dev,创建一个叫dev的分支

    git branch查看分支,前面带有*号的表示当前所处分支

    git checkout dev,切换到dev分支

    git merge dev,合并dev分支到当前分支(有*的那个分支)

    情景:假如我在做一个轮播图的功能,花时比较长,只能提交到分支了为了不影响其他人

    此时添加分支banner,

    切换到banner分支,

    ​提交代码到分支,

    等到更能完成,提交代码到分支

    切换到主分支,查看log,你会发现log里并没有分支提交记录,

    此时你需要合并banner到主分支,在查看log,就有分支的提交记录了

    git branch -d dev 删除某个分支 ,注意:只有不在dev分支的时候才能删除dev分支

    ssh方式上传代码

    不需要用户名和密码

    公钥 私钥

    获取公钥

    生成你的公钥ssh https://gitee.com/help/articles/4181#article-header0。按照说明文档在git bash上操作获取公钥.

    如果已经有公钥了直接获取就行(查看自己电脑有没有配置过公钥,用户>xiaoyue>.ssh>id_rsa.pab 打开此文件,里边就是你的公钥)

    • 运行命令ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
    • 按照提示完成三次回车,即可生成 ssh key
    • 通过查看 cat ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key
    • 复制你的公钥,在线上 码云 添加公钥。 完成此操作,你的电脑就和你线上的码云仓库就打通了

    常见报错情况

    常见错误一

    error: bad signature //错误的签名 fatal: index file corrupt //索引文件损坏

    解决方法1:

    rm -f .git/index //rm为linux语句,删除文件用的 rm -f表示直接删除

    git reset//重置

    接单粗暴的解决:

    直接删除.git文件,重新init

    常见错误二

    merge合并dev分支时,出现冲突conflicts!需要手动进行修改选择,删除不要的,留下正确的

    HEAD>>>>
    ...当前分支的代码内容
    _____________________________
    ...dev分支的代码内容
    <<<<<dev 

    然后再查看状态,该提交的提交

    git stash 恢复到上一次提交状态https://www.cnblogs.com/tocy/p/git-stash-reference.html

    常见问题三

    情景:

    A用户修改了index代码上传到github,B用户在没有更新的情况下修改了本地代码,并准备上传。如果上传会报错。

    • 这个时候,应该先拉取远程的代码到本地,再上传,提示有冲突就在本地解决冲突。
    • 如果先上传再拉取就是在远程会出现冲突,远程有冲突不易解决。
    • 所以,养成良好的习惯,先拉取再上传

    注意:

    如果拉取的时候,bash终端会出现 编辑信息的页面,

    此时,按下Esc,再按下:(冒号),再按下w(保存)q(退出),再回车,终端下面会显示:wq

    奔跑的蜗牛
  • 相关阅读:
    C#之枚举
    C#之判断字母大小、字母转ACII码
    C#之BF算法
    md5如何实现encodePassword加密方法
    基本配置及安全级别security-level
    js中“原生”map
    web.xml讲解
    java application指的是什么
    .conf、.bak是什么格式
    Maven系列--web.xml 配置详解
  • 原文地址:https://www.cnblogs.com/xiaoyue-/p/10608122.html
Copyright © 2011-2022 走看看