Git基础练习笔记

前置条件:   已经正确的安装完git

GIT常用命令

配置全局的邮件地址  

git config --global user.email "example@163.com"

配置全局的用户名       

git config --global user.name "you_username"

1.新建项目并向远程仓库提交

新建一个目录并初始化目录:  

mkdir demo
git init

新建一个文件并提交到暂存区

touch readme.txt
git add readme.txt

提交本次修改的内容

git commit -m 'commit msg'

注意此时默认的分支是 master 分支,可以使用下面的命令查看当前分支名称,带星号的就是当前分支

git branch

切换到常用的开发分支,下面这条命令会创建一个dev分支,并直接切换到dev分支

git checkout -b dev

以上操作都是在本地进行的,我们需要把代码提交到远程的git仓库

首先需要和远程的代码仓库建立关联关系,后面的URL路径是你要使用的仓库路径,

(PS:我这里的路径是使用GItlab搭建的内网私服地址)

git remote add origin http://192.168.80.132:8085/root/test_commit.git

最后再提交你的分支

git push -u origin dev

执行完上述命令后,需要输入正确的git的登录用户名和密码,否则会出现认证失败的问题,提交自然就失败了。出现和下面类似的打印信息就代表向远程仓库提交成功了,可以登录远程仓库验证下。

 2.从远程仓库下载代码到本地

    很简单,一行命令就搞定了

git clone http://192.168.80.132:8085/root/test_commit.git

然后可以在本地项目中进行修改,修改完后再通过git add ,git commit等命令提交代码,最后再通过git push 向远程仓库推送代码。

PS:这里push代码的时候就不用再执行git remote关联远程代码了,因为在clone时已经关联上了,除非你想把这个代码提交到别的地方去

3.分支合并

合并两分支很简单,例如 合并dev代码到master代码中并禁用FastForad,可使用如下命令即可完成

首先切换到master分支

git checkout master

最后合并分支 

git merge --no-ff -m "merge with no-ff" dev

4.处理代码冲突

   远程代码与本地代码库存在冲突

   背景:

  程序员1修改了readme.txt内容为

这是开发人员1提交的文件内容

程序员1把代码提交了,一切正常 

程序员2也在本地修改了readme.txt内容为

这是开发人员2提交的代码

因为这是两个程序员是相互独立工作的,且负责的模块不同,所以经常会出现这样情况

程序2在本地commit一切正常,当向远程push的时候就会出现问题了,如下所示

通过提示信息,git很明确的告诉我们,我们本地的代码不完整,即远程的代码库存在的文件数据,我们本地文件库没有,所以根据提示使用pull先拉取远程的资源。

通过提示信息,Git同样很明确的告诉我们readme.txt文件存在冲突,这时我们再查看readme.txt文件内容

然后我们编辑radme.txt文件,手动处理冲突

这里代码冲突已经处理完了,接下来就该把代码进行再次提交了

git add readme.txt
git commit -m '冲突已经手动处理成功了'
git push origin dev

这次提交终于成功了,然后可以在远程仓库中查看提交的readme.txt文件内容

常见问题及解决方案:

1  问题描述:

$ git push origin master
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'http://192.168.102.68:8085/project/idea_git.git/'

解决方案

  出现这种问题基本上都是由于用户名密码重新修改了

git config --system --unset credential.helper

2.问题描述

 在合并分支的时候,比如执行git pull(git fetch + git merge)或者git merge ,出现以下异常信息

Error pulling origin: error: Your local changes to the following files would be overwritten by merge

解决方案:

特别提醒:在这行下面这条命令之前,强烈推荐将当前的代码保存了,否则删除命令一旦执行,被删除的代码将不能被找回,请一定小心留意执行

git clean -d -fx

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值