GIT 一战通

目录

一,准备工作

1,在github上创建一个名为project的仓库

2,本地建一个名为project的项目,为了方便管理仓库的名称跟项目名称保持一致

3,本地下载安装 git客户端               下载链接

二,GIT是什么,跟SVN的区别

1,GIT是什么

2,GIT与SVN的区别

三,GIT本地

1,GIT本地提交命令

2,GIT本地提交图例

3,git commit遇到的问题:The file will have its original line 

四, GIT远程

1,https,需要在弹出窗口输入密码

2,ssh 需要在github配置公钥

1)生成公钥密钥

2)在github配置公钥

3)用SHH提交代码

五 ,其他命令

六 , 规范团队管理GIT

七 , 遇上的问题

1,push时发生   remote:HTTP Basic: Access denied

1)原因:

2)解决办法:

3)图例:

2,冲突的解决办法

1)原因

2)报错

3)解决

3,远程覆盖本地

1)命令

2)图例

4,代码冲突--需要回退版本

1)命令


 


一,准备工作

  俗话说巧妇难为无米之炊,前期准备如下

1,在github上创建一个名为project的仓库

                                            

2,本地建一个名为project的项目,为了方便管理仓库的名称跟项目名称保持一致

                                       

 

3,本地下载安装 git客户端               下载链接

 

  一点到底,安装成功的提示                                     

                       

二,GIT是什么,跟SVN的区别

1,GIT是什么

           GIT是一个开源的分布式版本控制系统,可有有效,告诉的处理从新校到非常大的项目版本管理;  GIT每台电脑都有一个版本库,可以在本地做版本管理;速度快,远大于大部分版本管理系统,比如说svn(git每个项目下又一个.git版本控制,svn是每个目录下); 强大的分支管理功能能,活跃的开源社区GITHUB。前几天不是还把2月2日之前的代码放北极了么。

2,GIT与SVN的区别

             1)GIT是分布式SVN不是

             2)GIT与SVN版本机制不同

             3)GIT不需要联网

             4)GIT内容完整性优于SVN

            svn是集中式管理,服务器需要很未定,做集群成本又高

 

三,GIT本地

1,GIT本地提交命令

git init           初始化一个本地仓库,在统计目录下回出现一个隐藏的.git文件

git config  -l     查看配置
git config  xxx    配置属性(user.name 和 user.email) 
//三级文件配置,优先级 1>2>3
1,项目仓库下/.git/config
2,当前用户目录下/.gitconfig  
3,git安装目录/etc/gitconfig

//本地提交
git add . 
git add -A   提交到索引(-A代表全部)
git commit -m  ‘版本描述’  提交到文件库
git commit -am‘版本描述’ 一部完成提交
.跟-A的区别  .把新增修改的文件都加入缓存库。-A 新增修改删除的文件

 

2,GIT本地提交图例

3,git commit遇到的问题:The file will have its original line 

    系统换行符不同导致,git是linux规范。也就是说文件在存储的时候,会有一些转换,一旦文件中有一些\r\n符号的话,它都会帮你换成\n。

 

 

 

四, GIT远程

1,https,需要在弹出窗口输入密码

git remote add project https://github.com/xinlingjushi/project.git    建立远程链接
git remote                                                            查看远程链接
git remote  -v                                                        查看远程链接详情
git remote rm 远程仓库别名                                            移除远程仓库
git push -u project master                                            把代码推送到远程主机
git clone  'https://github.com/xinlingjushi/project.git'  'project'   克隆代码 
git push -u project master                                推送本地修改至远程git文档库
git  fetch project  master                        将远程主机的最新内容拉到本地,不进行合并
git pull project  master                                将远程主机最新内容拉下来后直接合并

 

 

我是因为删除了代码,再次进行提交造成的原因。合并后再次提交,问题解决。

出错:
! [rejected] master -> master (fetch first) error: failed to push some refs to ' 。。。'

出现这个问题是因为github中的README.md文件不在本地代码目录中,可以通过如下命令进行代码合并

git pull --rebase origin master
 

 

2,ssh 需要在github配置公钥

1)生成公钥密钥

ssh-keygen -t rsa -C 791337069@qq.com    公钥和私钥

 

2)在github配置公钥

3)用SHH提交代码

具体操作   这里可以发现第一次提交,没有任何修改,版本是最新的会有提示。第二次提交我是只改了文件内容,没有把修改的内容提交到本地库,随即进行了本地提交,再次操作,执行成功。

 

五 ,其他命令

 

Git 完整命令手册地址:http://git-scm.com/docs

//分支  分支意味着你可以从开发主线(master)上分离开,在不影响主线的同时继续工作。
//创建分支  
git branch                列出当前开发所有分支(默认会有master)
git branch a              创建一个a的分支(最新提交点)      
git branch a  提交点       创建一个a的分支(指定提交点  提交点:可用ID或者标签)
git branch -D a           删除a分支
git checkout  a           切换至a分支​​​
git checkout  master      切换至master分支(合并需要在master进行)
git merge  a              合并分支a和主干master,合并后的提交点属于主干master

//HEAD HEAD 节点代表最新commit 
git show HEAD   显示信息

//回退
git reset 选项 提交点  (选项:--hard 表示全恢复,提交点:可用ID或者标签)
git reset --hard  32822da (或者  one)

git  reflog          查看所有提交点

//合并分支的起始点(不推荐)
git  checkout master
git  rebase a         合并分支a和主干master,合并后的提交点属于主干master     

//日志
git log 
git log --one1

 

图例

 

 

 

六 , 规范团队管理GIT

 

 

 

七 , 遇上的问题

 

1,push时发生   remote:HTTP Basic: Access denied

 

1)原因:

密码账号不匹配。

2)解决办法:

输入以下命令,并重新push,会让你重新输入账号密码即可解决。

 git config --system --unset credential.helper

3)图例:

输入窗口就不截图了,再次$ git push -u 203_ep_http master  后会出现。

 

2,冲突的解决办法

1)原因

改代码时,没有先跟远程同步。我们都改了同一个文件,但他先提交,经过评估,选择解决方案是我覆盖他的代码。

2)报错

 

3)解决

 

3,远程覆盖本地

1)命令

git fetch --all
git reset --hard origin/master
git pull

 

2)图例

 

4,代码冲突--需要回退版本

1)命令

git  reflog                             查看所有提交点   

git reset --hard  32822da (或者  one)   回退

 
git push -u http master  -f             提交到远程
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值