git 使用

GIT正常使用看它

git 作用

1 项目托管 --- 代码同步到仓库

2 版本控制 --- 代码变更有记录

3 协同开发 --- 不同成员修改提交需要master授权

git 本身是linux 大佬开发的一套协议 ,实现版本很多 主要分两类:

1 开源社区

提倡代码开源共享

最常见的就是国际通过的开源社区githup 🐮

其次是中国开源社区gitee 🤡

2 私有仓库

一般是公司搭建的只给公司成员使用

最出名的是gitlab

其次和国产的gitlab Gogs[https://gogs.io/docs]

GIT 空间结构

本地仓库 (提交至远程仓库)

工作区(本地)

当你的项目下有.git 目录这个时候你的项目就是git工作区 = = 你的项目代码

暂存区 (本地)

当你提交想要提交代码时是先add 放入暂存区 当你commit 确定提交时是先在你本地暂存区创建了一个新的版本(这个其实有时候很好有时候有点坑)

远程仓库 (远程)

当你 push 或者pull 的时候其实就是同步你的本地仓库和远程仓库

GIT常用命令

拉取/提交代码

拉取代码

找到你的项目链接

https://github.com/renoyuan/DjangoBlog.git

终端输入

git clone https://github.com/renoyuan/DjangoBlog.git

提交代码

git add . # 添加所有文件到暂存区
git add filename # 单个文件/目录到暂存区

git ls-files # 查看暂存区中有哪些文件
git rm --cached filename # 删除暂存区文件 ,历史版本中的删不掉
git rm  filename # 删除工作区区文件 == rm filename

git commit -m '版本信息必填' # 提交版本

git push # 代码同步推到远程仓库

分支和权限

git 有一个分支的概念用来管理一个项目不同版本

创建一个仓库必须有一个master 分支是主分支 因为一些原因现在也叫main 分支

一般拉取项目都是拉的主分支

一般只给项目负责人master 的权限其他人只能fork 项目或者创建其他分支

创建/关联分支

git branch # 列出你在本地的分支
git branch branchname # 创建本地分支

git checkout branchname # 切换分支命令:

git merge branchname # 合并两个分支
git branch -d branchname  # 删除分支

设置本地分支关联远程分支

git branch --set-upstream-to=origin/reno_dev reno_dev


删除暂存区指定文件

git rm --cached <文件名>
将暂存区中的内容删除,工作区中对应的文件并不会受到影响。

git rm -f <文件名>
不但将暂存区中的内容删除,并且工作区中对应的文件也会被删除。

上面两个命令如果要删除多个文件使用空格分隔文件名称即可。

远程文件

暂存区相关命令

git rm --cache 文件名 仅仅删除暂存区里的文件    

git ls-files 命令是用来查看暂存区中文件信息

git rm -f 文件名 删除暂存区和工作区的文件

2.使用git restore --staged <文件名>取消暂存区的修改,文件的修改会回到工作区。

3.使用git reset HEAD可以将暂存区的所有文件恢复到工作区。

4.使用git restore <文件名>可以将工作区的修改取消。

5.使用git checkout <文件名>也可以将工作区的修改取消。 END

免密使用

为了安全git 每一次本地同步到远程都需要身份验证,你也可以那么安全

1 本地保存密码

# 全局的
git config --global credential.helper store
git config --global user.name "reno" # 你的名字
git config --global user.email "renoyuan@foxmail.com"    # 你的邮箱

# 本地的
git config --local user.name "reno" # 你的名字
git config --local user.email "renoyuan@foxmail.com" [email]
git config --local credential.helper store


# 还需要提交输入一次才能保存

2 ssh 认证

这个认证相当于是让git 仓库记住你的电脑

# 生成密钥
ssh-keygen -t rsa -C "yuanhaiying@tlrobot.com" -f ~/.ssh/reno_rsa # ~/.ssh/ 一般都在这个目录下

# 这个操作会生成一对公私钥 ,私钥不动把.pub后缀的公钥复制到git 仓库里面的对应位置
# 所有的其他系统用ssh 认证基本都是这样

进入到本地git项目下面,打开git,输入命令:

按三次回车

sshyuanhaiying@tlrobot.com

在用户目录下会有.ssh 目录找到公钥复制到git仓库上

如何忽略一些文件 --- 很常用

.gitignore 文件是一个文本文件,它告诉 Git 要忽略项目中的哪些文件或文件夹。

本地 .gitignore 文件通常被放置在项目的根目录中。你还可以创建一个全局 .gitignore 文件,该文件中的所有条目都会在你所有的 Git 仓库中被忽略。

要创建本地 .gitignore 文件,请创建一个文本文件,并将其命名为 .gitignore(请记住在开头包含 .)。 然后根据需要编辑该文件。在每一行列出你希望 Git 忽略的文件或文件夹。

该文件中的条目也可以遵循匹配模式。

  • * 用作通配符匹配
  • / 用于忽略相对于 .gitignore 文件的路径名
  • # 用于将注释添加到 .gitignore 文件

这是一个 .gitignore 文件的示例:

# Ignore Mac system files
.DS_store

# Ignore node_modules folder
node_modules

# Ignore all text files
*.txt

# Ignore files related to API keys
.env

# Ignore SASS config files
.sass-cache

如何忽略已检入的文件

要忽略单个文件,即停止跟踪文件但不从系统中删除它,请使用:

git rm --cached filename

要忽略 .gitignore 中的每个文件

首先提交代码修改,然后运行:

git rm -r --cached

这将从索引(暂存区域)中删除所有更改的文件,然后运行:

git add .

提交:

git commit -m ".gitignore is now working"

要取消 git rm --cached filename,请运行 git add filename

要添加或更改全局 .gitignore 文件,请运行以下命令:

git config --global core.excludesfile ~/.gitignore_global

这将创建文件 ~/.gitignore_global。现在,你可以通过与编辑本地 .gitignore 文件相同的方式编辑该文件。你所有的 Git 仓库都将忽略全局 .gitignore 文件中列出的文件和文件夹。

一些其他命令

设置显示中文

git config --global core.quotepath false

关于历史中的大文件没有删除的问题

https://www.jianshu.com/p/fe3023bdc825

posted @ 2022-07-01 17:29  貌似大家  阅读(32)  评论(0编辑  收藏  举报