Git代码托管

1. 安装 Git

首先,确保你已经安装了 Git。如果没有安装,可以访问 Git官网 下载安装。
安装完成后,可以通过以下命令来验证是否安装成功:

git --version

在代码文件夹中邮件git bash here可进入bash界面

2. 配置 Git

在开始使用 Git 之前,先设置一些全局配置,如用户名和邮箱,这样可以在提交时标明作者。

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

3. 初始化 Git 仓库

要开始使用 Git 管理代码,你需要将代码目录初始化为 Git 仓库。进入你的项目目录,运行以下命令:

git init

这个命令会在目录中创建一个 .git 文件夹,用来跟踪代码的历史记录。

4. 添加文件到暂存区

将修改过的文件添加到 Git 的暂存区(staging area)。比如,添加所有文件:

git add .

或者,只添加特定文件:

git add filename

5. 提交代码

将暂存区的文件提交到本地仓库,并附加提交信息。提交信息可以描述这次修改的内容,简洁明了是最好的实践。

git commit -m "提交信息"

6. 查看状态和历史

可以使用 git status 查看当前文件的状态(哪些文件已修改,哪些文件已暂存)。

git status

查看提交历史:

git log

如果日志过长,可以加上 --oneline 参数查看简洁版的历史:

git log --oneline

7 与远程仓库交互

Git 允许你将本地代码同步到远程仓库(如 GitHub、GitLab 等),也可以从远程仓库获取更新。

7.1配置代理服务器

 git config --global -e

将弹出的界面修改如下:

[credential "https://gitee.com"]
        provider = generic
[user]
        name = sctj
        email = 1421679680@qq.com
[core]
        autocrlf = false
[http]
        sslBackend = openssl
        sslCAInfo = F:\\program_exe\\git\\Git\\mingw64\\etc\\cert.pem
        sslVerify = false
        proxy = http://127.0.0.1:7890
[https]
        proxy = https://127.0.0.1:7890

7.2 关联远程仓库

如果你还没有关联远程仓库,可以使用以下命令:

git remote add origin https://github.com/yourusername/yourrepo.git

如果需要修改地址则删除在重新添加:git remote remove origin
创建分支

git branch -M main

将本地仓库的变更推送到远程仓库的指定分支:

git push origin master

如果是第一次推送,可能需要使用 -u 参数来设置默认的推送目标:

git push -u origin master

拉取远程仓库的最新代码
从远程仓库拉取(同步)最新的代码:

git pull origin master

这里根据仓库中显示是master还是main决定master/main

8.排除指定文件夹

如果部分文件大于100M或者不想托管

  1. 创建 .gitignore 文件
touch .gitignore
  1. 配置 .gitignore 排除指定文件夹
    假设你想排除名为 logs 的文件夹,可以在 .gitignore 文件中添加如下内容:
logs/
  1. 排除指定文件夹(不包括子文件夹)
    如果只想排除某个特定的文件夹而不包括其中的子文件夹,可以在 .gitignore 文件中指定:
logs/*

这里的意思是:

logs/* 排除 logs 文件夹中的所有内容。
  1. 使 .gitignore 生效
    注意,.gitignore 只会对新添加的文件生效。如果该文件夹或文件之前已经被 Git 跟踪过,你需要先将其从 Git 的跟踪列表中移除,然后再提交 .gitignore 文件。

从 Git 仓库中移除已经跟踪的文件夹
假设你已经将 logs/ 文件夹添加到 Git 仓库并提交了它,如果你希望现在忽略它,可以使用以下命令:

git rm -r --cached logs/

–cached 选项告诉 Git 只删除文件在索引中的记录,而不删除文件本身。
-r 选项递归地删除文件夹中的内容。
然后提交这些更改:

git commit -m "移除 logs 文件夹,添加到 .gitignore"

9.使用demo

新的空仓库:

git init
touch .gitignore
#添加.vs/和x64/
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/sctj/GNS.git
git push -u origin main

10.回退到指定的提交

如果你想回退到某个特定的提交,可以使用提交的哈希值(通过 git log 查看):

git reset --hard <commit-hash>

是目标提交的哈希值(例如 a1b2c3d)

10.问题

  1. 如果第一次推送报错:
    在这里插入图片描述
    解决:
 git pull --rebase origin master
 git push origin master

10.1问题2

  1. 使用.gitignore排除文件后仍然会上传文件

解决:以下操作完后,相当于把本地代码回滚到远端的代码一致,远端代码文件过大时,此种方式比从远端重新拉取方便快捷

#先将代码文件夹复制备份一下,因为等下要重远端拉取代码覆盖本地
git fetch -f -p
git checkout main
git reset origin/main --hard
#将备份代码文件夹复制过来覆盖本地代码
git add .
git commit -m "new"
git push

第一句代码git fetch -f -p的作用就是从本地拿到远程最新分支,覆盖本地存放的远程分支

第二句实际上因为主要开发分支就是 dev 分支,小伙伴就是把大文件合并到这个分支,所以需要切换到这个分支。如果你不小心把大文件提交其它的分支,记得切换的就是你提交的分支。
如果提交大文件只是在自己的分支,并且放到了远程分支,那么合并到远程开发分支,那么只需要删除自己远程分支就好了,不需要继续往下做。
第三句git reset origin/dev --hard是把自己的本地 dev 分支覆盖,使用远程的分支,如果开发分支不是 dev ,那么请用其它的分支。
参考:https://www.cnblogs.com/mmzs/p/10401106.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值