zoukankan      html  css  js  c++  java
  • git 操作

    git 基础操作如下

    Command line instructions

    Git global setup / /全局配置
    git config --global user.name "lvning"
    git config --global user.email "lvning_lifebox@126.com"

    ssh-keygen -t rsa -C "lvning_lifebox@126.com"
    Create a new repository / /创建仓库
    git clone git@gitlab.com:lvning17zxjc/text3.git
    cd text3
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master
    Existing folder / /已有文件,添加到远程库操作 
    cd existing_folder
    git init
    git remote add origin git@gitlab.com:lvning17zxjc/text3.git
    git add .
    git commit -m "Initial commit"
    git push -u origin master
    Existing Git repository / /现有Git 存储库,远程推送
    cd existing_repo
    git remote rename origin old-origin
    git remote add origin git@gitlab.com:lvning17zxjc/text3.git
    git push -u origin --all
    git push -u origin --tags
    • git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
    • git add XX 把xx文件添加到暂存区去,追踪更新文件。
    • git commit –m “XX” 提交文件 –m 后面的是注释。
    • git status 查看仓库状态
    • git diff XX 查看XX文件修改了那些内容
    • git log 查看历史记录
    • git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本(如果想回退到100个版本,使用git reset –hard HEAD~100 )
    • cat XX 查看XX文件内容
    • git reflog 查看历史记录的版本号id
    • git checkout — XX 把XX文件在工作区的修改全部撤销。
    • git rm XX 删除XX文件
    • git remote add origin https://lvning_code@bitbucket.org/lvning_code/test.git关联一个远程库
    • git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
    • git clone https://lvning_code@bitbucket.org/lvning_code/test.git从远程库中克隆
    • git checkout –b dev 创建dev分支 并切换到dev分支上
    • git branch 查看当前所有的分支
    • git checkout master 切换回master分支
    • git merge dev 在当前的分支上合并dev分支
    • git branch –d dev 删除dev分支
    • git branch name 创建分支
    • git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
    • git stash list 查看所有被隐藏的文件列表
    • git stash apply 恢复被隐藏的文件,但是内容不删除
    • git stash drop 删除文件
    • git stash pop 恢复文件的同时 也删除文件
    • git remote 查看远程库的信息
    • git remote –v 查看远程库的详细信息
    • git push origin master Git会把master分支推送到远程库对应的远程分支上
    • git remote show [remote-name] 查看某个远程仓库的详细信息,比如要看所克隆的 origin 仓库
    • git branch [name] 可以先创建新的分支[name]是自己启用的名称 
    • 删除本地分支:git branch -d 分支名(remotes/origin/分支名)

    • 强制删本地:git branch -D 分支名

    • 删除远程分支:git push origin --delete 分支名(remotes/origin/分支名)
    • git branch -a 查看远程和本地分支  

    问题1:本地暂存仓库无法推送到远程仓库中?下面是三种解决方案。

    1.使用强制push的方法:

    $ git push -u origin master -f 

    这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候

    2.push前先将远程repository修改pull下来     ¥这是最好用的方式,但是git pull 必须在push 之前操作,一旦执行push后,再执行pull 会出现历史不匹配,拒接合并的现象¥

    $ git pull origin master

    $ git push -u origin master

    3.若不想merge远程和本地修改,可以先创建新的分支:

    $ git branch [name] 

    然后push

    $ git push -u origin [name]

     

    问题 2.本地文件被意外删除,请求恢复文件?

    • git status 查看仓库状态
    • git reflog 查看你本地提交记录 找到最新一次提交的版本号
    • .然后 执行 git reset --hard HEAD@{2} 回退到本地最新代码的位置

    问题3 :1.将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要--hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。

    git reset --hard FETCH_HEAD

    2.git pull就会成功

    3.强推代码:git push -f origin 【推送路径】

    问题:

    用git pull来更新代码的时候,遇到了下面的问题:error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please,
                             commit your changes or stash them before you can merge. Aborting

    git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

    git pull:拉取服务器上的代码;

    git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

    git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

    git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

    基础git 错误常用操作:

     git checkout -- <file>...  单个文件恢复

     git reset --hard         恢复上一个节点上传后,所有被删除文件

     ls -lah                      查看目录下所有文件(包括隐藏数据)

     vim                           打开文件

    在本地仓库的目录下调用命令行删除根目录下的.git文件夹:

    find . -name ".git" | xargs rm -Rf
    这样本地仓库就清除了,像下面这样,master不见了。

    2.手动删除掉残留的.git文件

    3.在命令行中输入rm -rf + github仓库地址,例

    rm -rf https://github.com/NeroSolomon/VLearning.git

    4.在github的对应的库中到setting删除库。

    Git提交时,给出提示Incorrect username or password ( access token ):

    第一种方法,脑管理器内进行修改;

    [控制面板][账号管理][凭据管理器]/针对不同的windows系统,也可以在[控制面板]直接搜索[凭据管理器]

    [windows凭据]--> 普通凭据内的gitee 的下拉框打开进行编辑;

     第二种解决问题方式:

    添加了生产SSH 公钥秘钥,也有可能出现error[当前公钥已被他人使用,请重新生成 (SSH Key 不允许重复添加) ];若是如此,则删除掉上述文件内的文件,重新生成。

    私钥id_rsa
    公钥id_rsa.pub

    1. 添加公钥id_rsa.pub 在平台上,例如gitHub,gitLab,gitee 等多种平台。
    2. 私钥id_rsa 在本地;使用命令:ssh -T git@gitee.com  回车 ,yes 添加SSH 信任列表,

     git 上推程序出无法连接远程库 提示错例如:request authorize server: curl error: Couldn't resolve host name

    原因:主机无法解析github.com/Gitee.com

    解决方法:ping github.com/Gitee.com

    显示结果:

    删除远程分支:git push origin :branch name

    当中,你需要注意的是 (注意origin后面有一个空格。

  • 相关阅读:
    mybatis批量更新报错
    Axure8破解码
    小程序开发-Step1
    2018新年计划
    java 写 Excel(不生成实体文件,写为流的形式)
    git 生成公钥 使用命令行无需输入用户名密码(windows)
    Node.js:上传文件,服务端如何获取文件上传进度
    Express:模板引擎深入研究
    windows下nginx的安装及使用
    Chrome开发者工具详解-Network面板
  • 原文地址:https://www.cnblogs.com/LVNG2018/p/10345670.html
Copyright © 2011-2022 走看看