git常用指令及bug办理(更新自用)

打印 上一主题 下一主题

主题 940|帖子 940|积分 2820

一、基本指令

1、下载指定分支内容

  1. git clone -b branchname https://git.***.com/your/path/***.git
复制代码
2、分支干系

(1)查看目前地点分支
  1. git branch
复制代码
(2)查看长途全部分支及状态
  1. git branch
  2. -a
复制代码
(3)切换分支
  1. git checkout branch_name
复制代码
(4)删除长途分支
一般删除长途分支同时也要删除本地分支,分别运行一下命令:
  1. git branch
  2. -d branchname
复制代码
3、在指定分支上提交更改后的最新代码

(1)首先查看本低与长途代码状态,是否有修改
  1. git status
复制代码
如果没有任何改变,则会看到
  1. nothing to commit, working directory clean
复制代码
如果有改变建议先查看一下本地代码和长途有哪些差异,使用difftool工具:
  1. git difftool
复制代码
挨个打开查看与长途库中的差异,右侧是本低自己的代码,左侧是远端代码,更改后保存关闭即可。
(2)确认全部代码修改的部分并保存后,开始提交,首先确认索要提交到的分支,按照(3)中命令查看或者切换到想要到的分支,比如我想提交到master分支,则分别执行如下代码:
  1. git branch
  2. //查看当前地点分支是不是自己想要提交的git checkout master //如果不是,切换到所需的分支
复制代码
(4)添加所要提交的文件到缓存
  1. git add . //添加所有文件
  2. git add filename.*** //添加部分文件
  3. git add flodername//添加整个文件夹
复制代码
(5)写提交的信息,就是本次提交修改了什么或者原因,雷同于备注
  1. git commit -m "备注信息"
复制代码
(6)提交缓存中全部的代码和备注信息到长途堆栈
  1. git push origin yourbranchname
复制代码
这里面origin意思是推送本低代码到长途端同名的分支下,如果长途端不存在同名分支则会主动创建这个分支,所以一定要确认你当前地点的文件夹是在想要提交的分支下,而且origin背面的分支名要写对,否则会导致远端新建分支,弄乱git库。
4、创建新的分支并提交代码

(1)查看本地和长途已有分支
  1. git branch
  2. git branch
  3. -r
复制代码
(2)创建新的分支并切换到新分支
  1. git branch
  2. newbranchnamegit checkout newbranchname
复制代码
也可以创建的时间直接切换
  1. git checkout -b newbranchname
复制代码
(3)添加文件到暂存区
添加全部文件(恣意一条命令都可以)
  1. git add .
  2. git add -A
  3. git add --all
复制代码
添加单个或多个文件
  1. git add file1 file2
复制代码
添加单个或多个文件夹
  1. git add folder1 folder2
复制代码
也可以利用.gitignore文件忽略不想提交的文件,把不想要的文件、文件夹写到ignore文件中,在执行下面把文件加入到缓存区
  1. git add .gitignore
复制代码
如果一开始里面就有这个文件,那么修改后直接保存就好
(4)查看现在文件的状态,重要是看想要push到长途的文件是否完整或有多余的
  1. git status
复制代码
如果利用了gitignore文件,这个地方就会显示你想忽略的文件是否成功被忽略;
如果有多余的文件,可以通过修改ignore文件实现,也可以通过以下命令从缓存区删掉:
  1. git rm --cached filename
复制代码
如果怕错的话也可以都删掉重新添加
  1. git rm -r --cached .
复制代码
然后利用上面命令重新提交即可
(5)解释提交
  1. git commit -m "提交说明"
复制代码
(6)推送到长途分支
  1. git push origin newbranchname
复制代码
成功的话去github刷新就有推送记录了
5、git对比两份代码的差异

(1)对比本地代码和对应的长途代码差异

  1. git difftool
复制代码
使用这个工具需要安装一下干系的库
(2)对比两个不同堆栈代码的差异

首先,将两个堆栈repo1,repo2都克隆到本地电脑上(两个文件夹,可以为不同路径),可以使用git clone命令(地址去github clone里面粘贴):
  1. git clone -b branchA https://git.***.com/your/path/***.git
  2. git clone -b branchB https://git.***.com/your/path/***.git
复制代码
然后,进入其中一个堆栈的目录,使用git remote -v可以看到对应的origin拉区地址。
  1. origin        https://github.com/***.git (fetch)
  2. origin        https://github.com/***.git (push)
复制代码
使用git remote add命令将另一个堆栈添加为长途堆栈(只不过这个长途堆栈并不是github上的地址,而是另一个堆栈地点的本地文件夹的路径)。
  1. cd /path/to/repo1
  2. git remote add repo2 /path/to/repo2
复制代码
这个repo2 可以是原本堆栈的名字,也可以自己另外起一个名字,只是用来对比,对比结束可以删除。
添加完成后,利用git remote -v可以发现,原本只有本文件夹下程序的长途地址,现在添加上了另一个库文件夹的地址。
  1. origin        https://github.com/***.git (fetch)
  2. origin        https://github.com/***.git (push)
  3. repo2        /path/to/filename (fetch)repo2        /path/to/filename (push)
复制代码
再使用git fetch命令从长途堆栈中获取最新的提交信息。
  1. git fetch repo2
复制代码
这时可以看到更新后的信息和对应的分支信息,可以或许看到新加入的branch为: * [new branch] your_repostory_btanch_name -> repo2/your_repostory_btanch_name
最后,使用git diff命令来比力两个堆栈之间的差异。
  1. git diff HEAD repo2/your_repostory_branch_name
复制代码
其中,HEAD表示当前堆栈的最新提交,repo2/your_repostory_btanch_name表示另一个堆栈的分支。这个命令将会输出两个堆栈之间的差异信息。
二、报错办理

1、git pull报错

办理过程:
git pull拉取最新的代码报错
  1. fatal: unable to access '*****': Failed connect to github.com:443; Connection refused
复制代码
首先查看拉取地址:git remote -v
  1. origin        https://github.com/***.git (fetch)
  2. origin        https://github.com/***.git (push)
复制代码
(1)看到目前是http方式下载的,有人说可以转换另一种下载方式,尝试转换ssh下载:
  1. git remote set-url https://github.com/***.git
复制代码
再用git remote -v查看发现已经转换完成:
  1. origin        git@github.com:***.git (fetch)
  2. origin        git@github.com:***.git (push)
复制代码
重新git pull拉取,继续报错:
  1. ssh_exchange_identification: read: Connection reset by peer
  2. fatal: Could not read from remote repository.
  3. Please make sure you have the correct access rights
  4. and the repository exists.
复制代码
(2)尝试重启或更改代理:
  1. git config --global http.proxy
  2. git config --global https.proxy
复制代码
没有任何反应
网上还有很多办理办法,可以一一尝试,因为我的代码远端没有更新,目前办理到这就算了

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表