git教程


前言

开发是一个团队的工作,大部分软件都是多个开发者共同编写的,在编写的时候会遇到代码开发过程中需要控制代码版本,以及远程协同开发代码的需求。这个时候就可以使用git来完成集群化、多分支的开发。


一、git的安装

点击进入下载:git官方地址

git 的安装十分简单,只需要选择安装目录,其余选项默认即可。


二、git的运作原理

在这里插入图片描述


三、初始化git仓库

当你需要制作一个项目仓库时,创建对应文件夹,然后cd到该文件夹下

git init # 输入该指令是以当前目录为仓库
git init 仓库名 # 会新建一个文件夹作为仓库

创建完仓库后会出现一个.git的隐藏文件夹
在这里插入图片描述
.git文件夹下有git的版本控制对应的代码等,所以仓库再不断迭代代码后该文件夹会越来越大。


四、设置全局/局部用户

git config --global user.name '用户名' 全局设置,输入后会在
git config --global user.email '用户邮箱'

git config user.name '用户名' 局部设置,只针输入指令的对该仓库
git config user.email '用户邮箱'

一个仓库如果有局部用户则上传和拉取都会优先使用局部用户

设置完后在C:\Users\用户名下会生成一个.gitconfig的文件,配置的用户名和邮箱会存放在该文件夹中,后续配置的仓库连接也会在其中


五、git常用指令

指令作用
git status查看仓库状态
git add ‘需要提交的单个或者多个文件’将工作区添加到暂存区
git commit -m ‘注释内容’将暂存区内容提交到版本库
git log查看版本管理信息:如谁什么时候提交了代码
git reflog查看简略版的版本管理信息
git reset --hard将工作区回退到某个版本
git reset HEAD将暂存区内容拉回工作区
git checkout将当前工作区的修改和删除回退到之前未修改和删除的状态,对新增无效

1.git status

git status 查看仓库状态

红色文件表示在工作区
绿色文件表示在暂存区
绿色变回白色的文件表示在版本库
在这里插入图片描述

2.git add

git add ‘需要提交的单个或者多个文件’ 将工作区添加到暂存区

git add 暂存区文件.txt # 将一个文件添加到暂存区
git add 暂存区文件.txt 版本仓库文件.txt # 将多个文件添加到暂存区,多个文件之间使用空格隔开
git add . # 将该目录下的全部文件添加到暂存区

3.git commit

git commit -m ‘注释内容’ 将暂存区内容提交到版本库
注释内容必须填写

git commit -m '提交了一个文件' # 将暂存区文件全部提交到版本库中

4.git log

git log 查看版本管理信息:如谁什么时候提交了代码

在这里插入图片描述

5.git reflog

git reflog 查看简略版的版本管理信息
在这里插入图片描述

6.git reset --hard

git reset --hard 将工作区回退到某个版本
版本号可以在git log或者git reflog中查看,版本号只要能取别出来就行,例如只输入版本号前几个只要能识别到唯一一个就可以使用

回滚到指定版本:
        回滚到上一个版本:
            git reset --hard HEAD^
            git reset --hard HEAD~
        回滚到上三个版本:
            git reset --hard HEAD^^^
            git reset --hard HEAD~3
        回滚到指定版本号的版本:
            git reset --hard 版本号 (重点) 
            eg: git reset --hard 35cb292

7.git reset HEAD

git reset HEAD 将暂存区内容拉回工作区,使用该指令可以把HEAD去掉使用

git add a.txt
git status

在这里插入图片描述

git reset HEAD # 退回全部暂存区内容到工作区
git status

在这里插入图片描述

git reset HEAD a.txt #退回暂存区中的某个文件到工作区,退回多个时用空格隔开

在这里插入图片描述

8.git checkout

git checkout 将当前工作区的修改和删除回退到之前未修改和删除的状态,对新增无效

ls
git status
rm -rf a.txt
ls
git checkout a.txt #恢复某个文件的删除和修改使用空格隔开可以对多个,末尾用.可以指定所有

在这里插入图片描述


六、过滤文件

在仓库目录下新建一个.gitignore文件在其中写目录或者文件或者模糊匹配,匹配到的不会被提交到远端仓库。

过滤文件内容:
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

git 不管理空文件夹,文件夹下有文件,才会被管理


七、多分支开发

1.创建分支
git branch 分支名

2.查看分支
git branch

3.切换分支
git checkout 分支名

4.创建并切换到分支
git checkout -b 分支名

5.删除分支
git branch -d 分支名

6.查看远程分支
git branch -a

7.合并分支
git merge 分支名
将分支名所对应的的分支合并到目前访问的分支上

8.删除远程分支
git push origin :dev 或 git push origin --delete dev

9.推送本地分支到远程分支(远程分支与本地分支同名)
git push origin dev:dev 左边为远程分支名:右为本地分支名

八、https链接远程仓库

git init 初始化仓库
git add . 工作区加入暂存区
git commit -m 'sss' 暂存区加入版本仓库
git remote add origin 仓库https链接 连接远程仓库
git push origin master 提交版本仓库到远程仓库
git remote   #查看有哪些远程仓库
git remote add 源仓库名 仓库https链接 #连接远程仓库
git remote remove 名字 # 删除远程仓库的关联

九、ssh链接远程仓库

第一步生成ssh密钥:
gitee官方参考地址

第二步链接远程仓库

git remote add origin ssh链接
git add . 工作区加入暂存区
git commit -m 'sss' 暂存区加入版本仓库
git push origin master 其中origin是自己设置的源名、master是分支名

上传过程会询问

Are you sure you want to continue connecting (yes/no/[fingerprint])?

此时输入yes即可

十、协同开发

协同开发很容易出现冲突,出现时需要手动解决

	第一步:你到公司(gitee,gitlab),注册账号
    第二步:把你的公钥配置在你的gitee,gitlab账号上
    第三步:把你的邮箱发给项目的管理者(你老大)
    第四步:他把你账号添加为开发者---》你就可以读写项目了
    第五步:你要把公司项目拉到本地
    	方式一:直接下载zip
        方式二:在命令行中执行
        git clone 源仓库地址
    第六步:改代码,提交 (ssh,https提交)
    	git add .
        git commit -m '注释'
        #在提交之前一定要拉一下代码
        git pull origin master  # 可能会有冲突
        git push origin master

十一、冲突解决

冲突出现的原因:
1.分支合并
2.多人在同一分支开发

冲突出现的样子
print('lqz')
<<<<<<< HEAD
=======
print('sss')
>>>>>>> 732f1921741fa4d6153d1c4b7eb0302a509838d9

先把冲突的地方删除,剩下的代码分析,需要留哪些,到底是留我的代码,还是留其他开发者的代码(删其他开发者的,跟其他开发者说一声),如果删自己的,不用告知别的开发者

十二、分支合并冲突

操作流程

git branch dev
    git checkout dev
    在代码中增加一行
    git add .
    git commit -m '提交了'
    
    
    git checkout master  #加的一行看不到
    在代码中增加同一行
    git add .
    git commit -m '提交了'
    
    # 把dev合并到master中
    git merge dev  #冲突了
    #解决冲突
    git add .
    git commit -m '提交了'

十三、线上分支合并

操作步骤

  1. 在远端新建dev分支
  2. 在本地新建dev分支,切换到dev分支
  3. 执行git pull origin dev #把远端的dev拉倒本地的dev
  4. 修改代码
  5. git add .
  6. git commit -m ‘注释’
  7. git pull origin dev # 先拉
  8. git push origin dev # 把本地当前在分支(dev)推到远端dev
  9. 远端的master和dev代码就不一样了
  10. 远端合并代码
  11. 提交pr
  12. 远端仓库拥有者通过就合并了
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值