当前位置:   article > 正文

Git的配置与使用_git配置

git配置

下载安装

官网:https://git-scm.com/

阿里镜像:http://npm.taobao.org/mirrors/git-for-windows/

下载完成后安装一直选择下一步即可

菜单

Git Bash:Linux & Unix风格的命令行(推荐使用)

Git CMD:Windows风格的命令行

配置

  1. #查看配置
  2. git config -l
  3. #查看系统配置
  4. git config --system --list
  5. #查看当前用户配置
  6. git config --global --list

相关配置文件: 

  1. Git\etc\getconfig:在Git安装目录下的 gitconfig文件 ===》系统配置
  2. C:\User\Administrator\.gitconifg:当前登录用户的gitconfig文件===》全局(global)配置

设置用户名和邮箱

Git在每次提交时,都会使用到设置的用户名和邮箱信息

  1. #设置用户名
  2. git config --global user.name "xxxxx"
  3. #设置邮箱
  4. git config --global user.email "xxxxx"

 global为全局配置,Git总是将使用该信息来处理操作。若在特定场景下需要使用不同的用户名和email地址,可以使用该命令去掉 --global。

使用Github&Gitlab&Gitee等远程仓库

1. 首先注册登录

2. 设置本机绑定ssh公钥,免密登录(从远程仓库克隆时复制ssh,避免繁琐登录)

两种方式的比较:

1. https方式:每次都需要输入密码和用户名

2. ssh方式:使用SSH密钥避免繁琐的登录问题

  1. #进入 C:\Users\Administrator\.ssh 目录
  2. #生成公钥
  3. ssh-keygen -t rsa

 3. 生成密钥后,进入 C:\Users\Administrator\.ssh 目录打开id_rsa.pub,复制公钥

 4. 打开Gitlab选中SSH Keys将公钥复制Key框中,选中Add Key即可

 5. 在Gitlab端新建一个项目,选择Clone with SSH

6. 进入存放项目的文件夹,右击文件夹,选择Git Bash Here

git clone xxx

Git基本操作

工作流程

  1. #从远程仓库克隆项目至工作台
  2. git clone xxxx
  3. #工作台上对项目进行修改后,提交到暂存区
  4. git add .
  5. #将暂存区的文件,提交至本地仓库
  6. git commit -m "消息内容"
  7. #将本地仓库上的文件,提交至远程仓库
  8. git push

 文件的四种状态

  • untracked:未跟踪,此文件未加入到git库,不参与版本控制
  • unmodify:文件已加入到git库,未修改,文件内容与本地库的文件快照完全一致
  • modified:文件已加入到git库,经过修改,文件内容与本地库的文件快照不一致
  • staged:暂存状态

 查看四种文件状态

  1. #查看指定文件状态
  2. git status [filename]
  3. #查看所有文件状态
  4. git status

 四种状态的切换

  • 在工作区新建一个文件 xxx.txt,此时的文件状态为 untracked(未跟踪)
  • 执行git add . ,此时文件状态为 staged(暂存状态)
  • 执行git commit -m "消息内容",此时文件会存到本地仓库
  • 对该文件进行修改,再次git status,文件进入modified(文件与仓库不一致)
  • 再次执行git add . 并 commit ,文件进入unmodify状态(文件与仓库完全一致)
  • 执行git push,将文件push到远程仓库中,可以在远程仓库查看新增的文件

 忽略文件

实际上很多时候,不希望把某些文件加入到版本控制中,一般在项目中都会有.gitignore文件

  1. #忽略所有 .txt 结尾的文件
  2. *.txt
  3. #忽略除 aaa.txt 除外的所有 .txt 结尾的文件
  4. !aaa.txt
  5. #忽略项目根目录的文件,不包括abc目录
  6. /abc
  7. #忽略 zzz/目录下的所有文件
  8. zzz/
  9. #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
  10. doc/*.txt

 IDEA中集成Git

  1. 新建项目,绑定Git(将克隆下来的远程仓库的git文件目录拷贝至项目中即可)
  2. 修改文件,用IDEA操作(add至暂存区 =》 commit至本地仓库 =》 push至远程仓库)

Git分支操作 

几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。

使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

使用分支将工作切分开来,从而让我们能够在不同开发环境中做事,并来回切换。

常用指令

  1. #列出所有本地分支
  2. git branch
  3. #列出所有远程分支
  4. git branch -r
  5. #新建一个分支,但仍停留在当前分支
  6. git branch [branch-name]
  7. #新建一个分支,并切换到该分支
  8. git checkout -b [branch-name]
  9. #合并指定分支到当前分支
  10. git merge [branch]
  11. #删除分支
  12. git branch -d [branch-name]
  13. #删除远程分支
  14. git push origin --delete [branch-name]
  15. git branch -dr [remote/branch]

分支合并

一旦某分支有了独立内容,就需要将其合并回主分支

二路合并(逐行对比,发现行内容不同报冲突)

本地提交

System.out.println("hello world");

其他提交

System.out.println("world hello");

假设两者修改同一个文件后合并时发现这一行不一致,git无法选择保留或丢弃本地提交和其他提交,只能报冲突让人为处理。

三路合并

  1. // master
  2. System.out.println("hello1");
  3. // dev1
  4. System.out.println("hello1");
  5. // dev2
  6. System.out.println("hello2");
  1. // merge 后
  2. System.out.println("hello2");

master:主分支,为dev1和dev2的公共祖先

dev1:开发者1

dev2:开发者2

当前时dev1没有进行修改,而dev2进行了修改,git会自动把结果合并为dev2的代码

  1. // master
  2. System.out.println("hello1");
  3. // dev1
  4. System.out.println("hello2");
  5. // dev2
  6. System.out.println("hello3");

而如果dev1和dev2都进行了修改,此时会产生合并冲突,git无法合并,需要人为进行合并

即人为选择dev1的修改还是dev2的修改

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/683564
推荐阅读
相关标签
  

闽ICP备14008679号