Git使用

官网安装

三个区

-工作区    存放文件的地方
-暂存区    工作区的变更,提交到暂存区
-版本库    暂存区的内容,提交到版本库

git常用命令

1 文件夹想被git管理,文件夹作为仓库
先来到某个文件夹下敲
git init
初始化仓库 ,当前文件夹多出 .git 文件夹,这个文件夹不要删,如果删除,这就不是git仓库了,之前的版本再也找不回来了,也不能被git管理

2 查看文件变化
git status
-红色:工作区变化了,但是没有提交到暂存区
-绿色:已经提交到暂存区,没有提交到版本库
-没有:所有东西都在版本库中了[所有文件都被git管理起来了]

3 把工作区变更提交到暂存区
git add 文件夹
git add .   # 当前路径下所有变更都提交

5设置作者(全局,局部)
全局的意思是当前操作系统下所有仓库,提交到版本库时,都用这个作者
局部只针对于当前仓库
  git config --global user.email "306334678@qq.com"
  git config --global user.name "liuqingzheng"

6 查看版本库版本信息
-git log
-git reflog   # 更精简一些

7 把工作区的变更,回退  【还没有放到暂存区】
-增加的内容,删除
git checkout .

8 把暂存区,拉回到工作区[由绿变红]
git reset HEAD

9 回到某个版本
-只要被版本管理了,可以回退到任意版本
git reset --hard 版本号

git忽略文件

使用步骤
	-1 在仓库目录下  .git 所在目录下   新建  .gitignore
    -2 在里面写忽略文件
    	mode_models
        .idea
        *.pyc
        *.log
-3 写的就会被忽略
-4 已经被管理过的不会被忽略
忽略文件写法
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤
例如:
a.txt:项目中所有a.txt文件和文件夹都会被过滤
/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
*x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)

git分支

# 分支操作
	-分支查看
    	git branch
    -分支创建
    	git branch 分支名
        git branch dev
    -分支切换
    	git checkout dev  # 切换到dev分支
    -分支删除
    	git branch -d dev

		 -合并分支:(重要)
    	-把dev合并进master
        -先来到master分支:git branch checkout master
        -执行合并命令:git merge dev   # 把dev合并到我(master)身上
        # 分支合并可能会出冲突
		 # 公司里分支方案:小公司
	-master分支,dev分支,bug分支 ,所有人在dev分支开发,开发完成合并到主分支
    -master分支,dev分支,bug分支 ,个人分支,个人在个人分支上开发,开发完成合并到dev分支

git远程仓库

# 把本地的版本提交到远程仓库
# gitee,github,gitlab。。。。
# gitlab的搭建过程:https://zhuanlan.zhihu.com/p/413217715


# luffy_api 写好了一部分功能,要把代码提交到远程仓库

# 操作步骤:
	本地:
        1 在luffy_api 敲git init
        2 设置忽略文件(.gitignore)
        3 git add .
        4 git commit -m '第一次提交'
        ------提交到了本地版本库-------被版本管理了
    
    远程:
    	1 远程要创建仓库:gitee上创建仓库,右上角 +
        2 填一些信息,保证仓库是空的
    本地:
    	1 安装远端提示的步骤操作
        2 设置用户和邮箱
        3 咱们是已有仓库
        cd luffy_api
        # 添加一个远程仓库地址名字叫origin,地址是xxx
		git remote add origin https://gitee.com/liuqingzheng/luffy_api.git
        # 把本地的版本库推送到远程仓库
        # 把本地当前所在分支,推送到 origin对应的远程的master上
		git push origin master
    	# 需要输入用户名密码,输入一次,以后就不用输入了(本地保存了:凭据管理)
    	
    
    
    
    
# 如果提交了,再写忽略文件的步骤
    luffy.log--->暂存区---》版本库
    
    .gitignore---》写上忽略,但是不好被忽略,只要luffy.log有变化还是会被监控到
    
    删除luffy.log---》会被监控到---》add,commit---》版本库中已经没有luffy.log
    再出的luffy.log,就不会被管理了
	

ssh方式连接远程仓库

# 刚刚提交代码---》输入了用户名密码---》才可以提交上去----》使用的是https的协议提交的代码
	-它需要输入用户名和密码
    
    
# 咱们要使用ssh方案:需要公钥和私钥   ---》公司里这种方式多
	-私钥在本地保存
    -公钥配置到gitee上
    -以后再提交代码,不需要其他任何认证了,一路绿灯
    
    
    
# 使用步骤:
	- 生成公钥私钥:https://gitee.com/help/articles/4181
    	-在命令窗口中执行,一路回车
        ssh-keygen -t ed25519 -C "306334678@qq.com" 
        -生成在:C:\Users\Administrator\.ssh  两个文件,一个公钥,一个私钥
   -把公钥,配置在gitee上
   -之前origin对应的地址是 https的,现在要使用ssh提交代码,需要把它删除,再增加成ssh的协议
		git remote remove origin
        git remote add origin git@gitee.com:liuqingzheng/luffy_api.git
posted @ 2023-03-01 15:31  虾仁猪心排骨汤  阅读(11)  评论(0编辑  收藏  举报