git使用

169 阅读5分钟

🍉git使用

git官网

git-scm.com/

无脑安装即可

🍓git环境配置

git config -l  #查看git配置
git config --gobal --list  #查看用户自己的配置

设置用户名与邮箱

安装git后,首先要做的事情就是设置用户名称和e-mail地址,非常重要.每次git提交都会使用该信息

git config --global user.name "xxx"  #名称
git config --global user.email 24234@qq.com   #邮箱

🍓git基本理论

git本地有三个工作区域:

  • 工作目录(working directory) 平时存放代码得地方
  • 暂存区(stage/index) 用于临时存放你的改动,事实上只是一个文件 保存即将提交到文件列表信息
  • 本地仓库(repository) 安全存放数据的位置,这里有你所提交的所有版本的数据
  • 远程仓库(remote directory) 托管代码得服务器

文件在这四个区域之间的转换关系如下:

image-20230401174752233

🍓git项目搭建

创建工作目录与常用指令

工作目录一般就是你希望git帮助你管理的文件夹,可以是你的项目目录,也可以是一个空目录,建议不要使用中文

日常使用的只需要记住下图的6个命令

image-20230401180505023

本地仓库搭建

创建本地仓库有两种方式

  • 创建一个全新的仓库

    • 在git管理的项目的根路径执行以下命令
    #在当前目录创建一个git代码库
    git init
    
    • 执行后可以看到生成了一个.git的文件夹
  • 克隆仓库

    • 是将远程服务器上的仓库完全镜像一份至本地

      git clone 
      

🍓git基本命令操作

🥭文件的四种状态

版本控制就是对文件的版本控制,要对文件进行修改 提交等操作,首先要知道文件当前处于什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上

  • Untracked:未跟踪,此文件在文件夹中并没有加入到git库 不参与版本控制,通过git add将状态变为Staged
  • Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致.这种类型的文件有两种去处,如果它被修改,而变为Modified.如果使用git rm移出版本库,则成为untracked文件
  • Modified:文件已修改,仅仅是修改,并没有进行其他的操作.这个文件也有两个去处,通过git add可进入暂存 stanged状态,使用git checkout则丢弃修改过,返回到unmotify状态,这个git checkout即从库中取出文件,覆盖当前修改!
  • Staged:暂存状态.执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为unmodify状态.执行git reset HEAD filename取消暂存,文件状态为Modified

在新创建的git本地仓库中,新建一个文件

image-20230401181659868

新建了文件之后,再使用git status命令来查看我们当前文件的状态

image-20230401181849580

这里已经提示我们如果提交文件到暂存区的话可以使用git add 命令

image-20230401183720921

此时我们需要将文件提交到本地仓库,那么我们需要使用git commit命令

image-20230401183936007

总结:

#查看文件状态
git status [文件名]
# 将文件提交到暂存区
git add .
#将文件提交到本地仓库
git commit -m'说明信息'
#将文件推送到远程仓库
git push 

🥭忽略文件

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等在主目录下建立".gitignore"文件,此文件有如下规则∶ 1.忽略文件中的空行或以井号(#)开始的行将会被忽略。 2可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号( ?)代表一个字符,方括号([abc] )代表可选字符范围,大括号( {string1,string2,.…})代表可选的字符串等。 3.如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。 4.如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。 5.如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

#为注释
*.txt  #忽略所有.txt结尾的文件,这样的话上传就不会被选中!
!*.txt #但7ib.txt除外
/temp  #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略bui1d/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt但不包括doc/server/arch .txt

🥭码云的使用

1、注册登录码云,完善个人信息 2、设置本机绑定SSH公钥,实现免密码登录!

#进入C: \users \Administrator\.ssh目录
#生成公钥
ssh-keygen -t rsa

3、将公钥信息public key添加到码云账户中即可!

​ 将.pub结尾的文件复制到如图所示的位置即可

image-20230401213312867

4、使用码云创建一个自己的仓库!

image-20230401213433882

5、将仓库克隆到本地

git clone  xxx

6.将远程仓库和我们本地关联

  • 初始化本地仓库git init git add . git commit -m "xxx"
  • 关联远程仓库
git remote add origin  xxx
  • 拉取远程仓库的文件

    git pull
    
    image-20230403223519390

    如果出现上面报错,原因是远程的代码没有先clone到本地,所以不兼容.要使用以下命令来做兼容

    git pull origin master --allow-unrelated-histories
    

    当看到如下关键字代表远程仓库和本地仓库之间有冲突

    image-20230403223837589

    使用idea来去解决冲突

    image-20230403223917479
  • 冲突解决好后 进行commit 以及提交

7.验证项目本地是否和远程连接成功

git remote -v  
image-20230403221101028

🍓idea中使用git

🍓git分支

git branch   #列出所有本地分支
git branch -r  #列出所有远程分支
git branch [branch-name]  #新建分支
git checkout  -b [branch]   #新建一个分支   并切换到该分支