Git(1)

一、Git介绍

前往Git官网进行下载

Git是分布式版本控制系统,是一个版本管理软件

# 代码版本管理问题,代码合并问题
# git:分布式管理,每个客户端都能进行版本管理
# svn:集中管理,客户端和服务端,只能依附于服务端进行版本管理

Git工作流程

# 工作区    暂存区     版本库
# 工作区修改的内容(删除,新增,修改)---》提交到暂存区---》提交到版本库

二、git 基本命令

1、创建工作区

创建出一个工作区,在里面操作文件

"""初始化仓库,以后这个文件夹就被git管理了,生成一个隐藏的.git文件夹"""
git init  # 初始化当前路径(文件夹)
git init 文件夹名  # 初始化某个指定的文件夹

# 使用cd命令来切换文件夹,如下
cd d:
cd luffy

2、查看仓库状态

git status
"""
-红色表示变化了,没有提交到暂存区
-绿色表示在暂存区,没有提交到版本库
-如果没有变化,表示所以代码被版本管理了
"""

3、工作区内容提交到暂存区

git add s1.py  # 只提交s1.py 到暂存区
git add .      # 把工作区所有更改都提交到暂存区
# 常用命令,请牢记

4、暂存区内容提交到版本库

git commit -m '注释'
# 常用命令,请牢记

5、其他命令

# 【查看日志】
git log  # 查看版本变化的日志,进入日志
git reflog # 以简略形式显示日志

# 【恢复到某个版本】
git reset head  # 将暂存区的提交的内容恢复到工作区,也就是取消了暂存区提交的内容
git reset 文件名  # 恢复某一个文件

# 【把工作区的内容恢复到版本库最后状态】
git checkout .  # 把工作区的所有内容 恢复到版本库的最后状态
git checkout 文件名  
    
# 【设置用户和邮箱】
git config --global user.name '用户名'
git config --global user.email '用户邮箱'
# 用户家路径的.gitconfig这
git config  user.name '用户名'
git config  user.email '用户邮箱'
# 当前仓库的.git 文件夹下config

# 空文件夹不会被git管理

三、过滤文件

仓库中有些文件/文件夹,不想被Git管理,就需要使用如下操作进行文件的过滤

# 在仓库根路径新建.gitignore 文件,在文件中写忽略文件

'''
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤
'''
eg:
a.txt  # 项目中所有a.txt文件和文件夹都会被过滤
/a.txt  # 项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt  # 项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
*x*  # 名字中有一个x的都会被过滤(*代表0~n个任意字符)
lqz.tx?  # 表示一个字符  lqz.txt  lqz.txa

# 空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)

四、Git分支操作

创建分支的目的是为了独立开发,不影响其他分支,
创建分支时要确保Git管理了所有的文件

# 创建分支	
git branch 分支名
git branch dev # 创建一个dev分支

# 查看分支
git branch

# 切换分支
git checkout 分支名
git checkout dev  # 切换到dev分支

# 删除分支(删除分支时不能在该分支上)
git branch -d dev

# 合并分支(必须要在主分支上合并)
git merge 分支名
git merge dev  # 把dev合并到master,先切换到master上

五、远程仓库

GitHub、Gitlab、Gitee都可以作为远程仓库

# 以Gitee为例,我们需要登录上Gitee上,然后创建一个空的远程仓库

# 设置账号和邮箱
git config --global user.name "poco1999"
git config --global user.email "1536189125@qq.com"

# 如果本地没有仓库,请执行下列命令
mkdir test
cd test
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/pocohy/test.git
git push origin master
'''
添加远程仓库(origin为仓库别名)
git remote add origin https://gitee.com/pocohy/test.git
把本地的master,提交到远程origin仓库
git push origin master 
'''

# 如果本地有仓库
cd existing_git_repo
git remote add origin https://gitee.com/pocohy/test.git
git push origin master

# 查看远程仓库
git remote

# 删除远程仓库
git remote remove origin
 
# 从远程仓库拉取代码
git pull origin master


# 注意:增加了远程仓库,最开始只需要新增一个远程仓库,以后只需要pull拉取代码,和push推送本地代码到远程

ssh连接远程

公司基本上都用这种

# 推送和下载,使用http协议,需要输入用户名,密码的方式
# 现在使用ssh连接远程
	-不需要再输入用户名密码
    -但是需要配置公钥私钥(非对称加密)
    
# 生成公钥私钥(操作系统使用命令)
ssh-keygen -t rsa -C "1536189125@qq.com"
# 生成的思想放在了用户家路径的.ssh文件夹下(大约是C:\Users\Administrator\.ssh路径)
-id_rsa:私钥,一定不能丢
-id_rsa.pub:公钥,可以给别人
    
# 去Gitee配置公钥(在gitee设置里,在安全设置一栏有一个SSH公钥)


# 删除原来http连接的origin,再增加一个(地址是ssh的)
git remote add origin git@gitee.com:pocohy/test.git
posted @ 2021-11-05 14:36  黑影Poco  阅读(41)  评论(0)    收藏  举报