Git的使用与操作

351 阅读5分钟

1、Git的使用

  ** Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。**

A:分布式版本管理

B:多个开发人员协调工作

C:有效监听谁做的修改

D:本地及远程操作

   1.1  本地初始化库

   1.2  Git的基本操作

   1.3  Git的分支操作

   1.4  版本追溯

1.5  Git常用命令速查表

   1.6  新建本地分支后将本地分支推送到远程库,使用git pull 或者git push的时候报错,如图有解决办法

2、Git在Windows下的安装

  2.1  有个叫做msysGit的项目提供了安装包,可以到Github的页面上下载exe安装文件并允许

         安装包下载地址:gitforwindows.org/

    按着步骤点下一步,选择Use Git from Git Bash only,接下来就是点下一步安装完成

   

    安装完成后,打开Git Bash,输入git --version,显示版本号,则表示安装成功

 2.2 Tortoisegit

    Git是一个基于命令行操作,使用起来非常不方便。Tortisegit则是Windows下的一款图形化     Git工具。(Tortoisegit仅是一个壳,使用的时候还是需要安装msysgit的)

    官网地址:tortoisegit.org/

    下载地址:tortoisegit.org/download/,语言包也在这里下载。

3、git的使用

1、创建仓库git,提交代码到git,合并远程代码

(1)、打开gitthub

git remote  (查看远程仓库)

git remote add origin 地址(把GitHub上的ssh的地址复制到这来)

git push origin master  (把代码push到主分支上)

**一般情况下就不在主分支开发,切换分支开发

git checkout -b dev    (切换到dev分支)

git push origin dev      (把代码push到dev分支上)

2、git pull拉取代码时冲突的解决办法

在使用git pull命令拉取代码时,有时会遇到以下错误信息

(1)先将本地修改存储起来git stash

使用git stash命令,这样本地地所有修改就都被暂时存储起来。其中stash@{0}就是刚才保存的标记,后续可以通过此标记访问。

(2)再次拉取代码git pull

(3)还原暂存的内容git stash pop stash@{0}

(4)解决冲突

在存在冲突的文件中,Updated upstream和====之间的内容为拉取下来的代码,=====和stashed changes之间的内容就为本地修改的代码。解决完成之后,就可正常的提交了。

(5)删除stash

使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为0的。或者git stash clear命令,清除所有stash

3、git pull提示已经拉取成功,但是本地的代码并没有更新的处理方法

由于本地的更改所以没有拉取成功

解决方法:

执行git stash将本地修改存储起来

然后再git pull就可以了

4、上传到git遇到的问题

1、第一次上传遇到的问题

git init   //初始化代码
git add .   //跟踪所有改动过的文件
git commit -m "commit message" //提交所有有更新过的文件
git push -u origin main //提交到分支main上,提交到主分支命令 git push origin master
 

这个是GitHub新手经常出错的问题,GitHub上需要添加一个公钥(publickey)

1、可以用ssh -T git@github.com 去测试一下

如果出现Permission denied (Publickey)说明缺少了公钥

2.可以用: ssh-keygen -t rsa -C "GitHub账号" ,一直Enter下去生成公钥如下所示:

3、然后用:cat + 公钥路径,把出现的key复制下来:

4、在GitHub上添加刚刚生成的公钥

(1)Settings-----SSH and GPG keys-----New SSH key-----添加生成的key就可以成功的添加公钥了

********************************************************************************

接下来

第一步:建立git仓库

cd到你的本地项目根目录下,执行git命令,此命令会在当前目录下创建一个.git文件夹。

git init

第二步:将项目的所有文件添加到仓库中

git add .

这个命令会把当前路径下的所有文件,添加到待上传的文件列表中。

如果想添加某个特定的文件,只需把.换成特定的文件名即可

第三步:将add的文件commit到仓库

git commit -m "注释语句"

第四步:去github上创建自己的repository,点击个人头像旁边的加号 如下图所示:

点击New repository,填好所有信息后点击create repository就会进入到类似下面的一个页面,拿到创建的仓库的https地址

第五步:将本地的仓库关联到github上

git remote add origin https:// 7881188.cn/自己的仓库url地址

第六步,上传代码到github远程仓库

git push -u origin master

执行完后,如果没有异常,等待执行完就上传成功了,中间可能会让你输入Username和Password,你只要输入github的账号和密码就行了.

第一次上传有可能会遇到push失败的情况,那是因为跟SVN一样,github上有一个README.md 文件没有下载下来 。我们得先

git pull --rebase origin master ,然后执行git push -u origin master 就可以成功啦

2.fatal:unable to access https://github xxxxxxxxx的解决方法

问题重现: 

$ git clone -b v2.24.0 github.com/IntelRealSe… Cloning into 'librealsense'

... fatal: unable to access 'github.com/IntelRealSe…': gnutls_handshake() failed: The TLS connection was non-properly terminated. 

解决方法: 

将命令中的 https改为 git

 git clone -b v2.24.0 git://github.com/IntelRealSense/librealsense.git 

3、每次上传代码都需要输入账户和密码解决

1、首先,再git.bash文件中输入命令

git config --global credential.helper store

2、然后你会发现你的C:\Users\用户名xx.gitconfig**文件会多出以下代码:

[credential]
helper = store**

3、紧接着,使用git pull活着git push命令,根据提示输入账号和密码。这时你的本地生成一个类似C:\Users\用户名xx.git-credentials文件,用于记录帐号密码。

https://帐号:密码@gitee.com

4、完成以上几步,下次就不用再次输账号密码了

4、TortoiseGit提交代码每次需要输入用户名和密码

每次用TortoiseGit Pull或者Push的时候都会弹出让输入用户名、密码的框, 很麻烦 ,解决办法如下:

解决办法如下:

Right click → TortoiseGit → Settings → Git → Credential.
设置为 wincred - this repository only 或者 wincred - current Windows user

注意,config type要设置为全局的;