关于git在windows的一些配置和学习

本文详细介绍如何在Windows环境下安装和配置Git,包括创建和初始化仓库、基本的文件操作、配置用户名和邮箱,以及解决常见的符号转义问题。同时,文章还讲解了如何通过SSH密钥关联GitHub仓库,以及基本的版本控制流程,如分支管理和冲突解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤

  • 首先是安装git,

  • 安装完成后,在win搜git bash并以管理员方式启动git bash

  • mkdir GitRepository在某个盘创建文件夹作为自己的git库

  • git init把GitRepository文件夹初始化为仓库

  • git config --golbal user.name "ding"配置自己仓库的用户名

  • git config --golbal user.email "xxx@outlook.com"配置自己仓库的邮箱

  • vi readme.txt在仓库创建一个文件,并写入一些内容

  • git add readme.txt让git能识别到readme.txt.但是会遇到下面问题 在这里插入图片描述

  • 原因是存在符号转义问题
    windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法:git config --global core.autocrlf false

  • 如果我们目前是Window平台并出现该警告,啥也别做就行,虽然这个警告难看,但这个警告能保证我们项目团队正常跨系统git操作代码,因为git的Windows 客户端基本都会默认设置 core.autocrlf=true(我们可通过git config core.autocrlf命令查询我们的Windows上该属性是否默认true。如不是true,通过config --global core.autocrlf true命令设置该属性为true),而“core.autocrlf=true”

  • 详细解释
    在这里插入图片描述

  • git commit -m "wrote a readme file" -m是对此次commit的说明
    在这里插入图片描述

  • git status命令告诉完美仓库当前的状况,上面显示了修改了readme.txt文件,但是没有提交

  • git diff可以查看文件变更了哪些内容
    在这里插入图片描述

  • 重新添加和交上readme.txt文件
    在这里插入图片描述

  • git config --global core.autocrlf false可以去除git add出现的警告

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

git管理图
在这里插入图片描述

基础配置
  • git config --golbal user.name "ding"配置自己仓库的用户名
  • git config --golbal user.email "xxx@outlook.com"配置自己仓库的邮箱
  • mkdir GirRepository 创建目录git init初始化目录为当前工作区
  • touch filename创建filename文件,可以随意添加一些内容,此时filename在工作区
  • git add filename把文件添加到暂存区(stage区),可以一次性加入很多文件到暂存区
  • git commit -m "xxx" 把暂存区的所有文件都提交到库中
想撤销文件更改或是回退到之前版本
  • git diff 可以查看在工作区修改的还没提交的文件和已经提交(commit)的文件的不同
  • git checkout -- filename 当你修改了工作区的文件内容,但是想撤销掉更改,就可以把库中之前提交的filename文件拉取的工作区中,覆盖本地的filename
  • git reset HEAD filename 已经提交到暂存stage区的filename文件回退到 modified状态,再通过git checkout -- filename就能上次commit状态
  • git reset --hard HEAD^ 所谓的版本回退,回退到之前的commit版本
  • git reset --hard id可以通过git log或是git reflog查看到的commit的id,跳到某个版本
  • git log 查看commit过的日志和其id
  • git reflog 查看输入过命令的日志
其他命令
  • git status查看目前的提交状态
  • git rm filename删除工作区的filename, git commit -m "xxx"提交删除到本地库
关联自己的github库
  1. 创建SSH Key
    在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:ssh-keygen -t rsa -C "xxx@example.com"
    主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
  2. 登陆GitHub,打开“Account settings”,“SSH Keys”页面,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 使用本地的git bash远程关联git remote add origin https://github.com/pickgog/GitRepository.git
  4. git push -u origin master推上自己的仓库内容
  5. git clone https://............... 也可克隆别人的仓库到本地

创建分支

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • git checkout -b dev创建dev分支,然后切换到dev分支,
  • 相当于以下两条命令:
    • git branch dev
    • git checkout dev
  • git branch查看当前所有分支
$ git branch
* dev
  master
  • git merge dev把dev上的操作合并到master上去
  • git branch -d dev 删除dev
合并时遇到的问题
  • git checkout -b feature1准备新的feature1分支
  • 修改readme.txt最后一行,改为:Creating a new branch is quick AND simple.
  • 提交git add readme.txt , git commit -m "AND simple"
  • 切换到master分支:git checkout master
  • 在master分支上把readme.txt文件的最后一行改为:Creating a new branch is quick & simple.
  • 提交:git add readme.txt, git commit -m "& simple"
  • 现在,master分支和feature1分支各自都分别有新的提交,变成了这样:
    在这里插入图片描述
  • 此时合并会遇到下面的问题
$ git merge feature1
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
  • git status也可以告诉我们冲突的文件
  • 查看readme文件的内容
Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1
>
  • 修改后在提交
$ git add readme.txt 
$ git commit -m "conflict fixed"
[master cf810e4] conflict fixed
  • git log可以查看具体情况
$ git log --graph --pretty=oneline --abbrev-commit
*   cf810e4 (HEAD -> master) conflict fixed
|\  
| * 14096d0 (feature1) AND simple
* | 5dc6824 & simple
|/  

参考

git教程

可以在线学习的git tutorial

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值