git学习

介绍

github、gitee码云是公有代码仓库(互联网),gitlab是私有的常用于公司内部(局域网)

代码推送push、代码拉取pull、代码克隆clone

  1. 工作区:代码所在目录(而非开发工具idea等)
  2. 暂存区:临时存储(可以使用命令删除)
  3. 本地库:历史版本(形成版本不能删除)
  4. 远程库:如gitee等,通过本地库git push可进入

➡️请添加图片描述

查看当前git版本号

$ git --version git version 2.44.0.windows.1

git常用命令

注:第一二条命令设置于gitee等代码仓库账号没有关系,但是不设置提交代码可能会报错


在git bash页面可以输入linux命令

ls -a

其中4、5条可搭配./*使用表示将当前目录所有文件git add

第10条命令示例:

34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git reflog
51b3698 (HEAD -> master) HEAD@{0}: commit: second commit
f293c29 HEAD@{1}: commit (initial): first commit

34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git reset --hard f293c29
HEAD is now at f293c29 first commit

34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git reflog
f293c29 (HEAD -> master) HEAD@{0}: reset: moving to f293c29
51b3698 HEAD@{1}: commit: second commit
f293c29 (HEAD -> master) HEAD@{2}: commit (initial): first commit
序号命令内容作用
1git config --global user.name 用户名设置用户签名
2git config --global user.name 邮箱设置用户邮箱
3git init初始化本地仓库
4git status查看状态
5git add 文件将文件加入暂存区开始受git管理,追踪,每次修改需要重新追踪
6git rm --cached 文件删除暂存区的该文件
7git commit -m “日志信息” 文件名将暂存区文件提交到本地库,同5每次修改也需要重新提交
8git reflog查看文件更新版本信息
9git log比8更详细一点,版本号也更长一点
10git reset --hard 版本号回溯版本至该版本号

git分支操作

常用命令

命令内容作用
git branch -v查看分支信息
git branch 分支名称创建新分支
git checkout 分支名称切换当前分支
git merge 分支名称把指定的分支合并到当前分支上

合并冲突

产生冲突的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法替我们决定使用哪一个,必须认为决定新代码内容。

解决方法:

  1. 手动打开该代码文件,编辑vim,head表示当前分支的代码文件内容,而========下面则是需要合并的分支的同一位置不同内容,通过删除想要预留的结果,保存文件。

在这里插入图片描述

  1. 再接着执行git add 、git commit操作,git add 常规,但是需要注意的是git commit …… 后面接的文件名不能加

远程仓库

常用命令

序号命令内容作用
1git remote -v查看当前所有远程地址别名
2git remote add 别名 远程地址给远程地址起别名
3git push 别名 分支必须指定分支,别名也可以用地址
4git pull 别名 分支拉取远程库对应分支的代码
5git clone 远程地址克隆远程仓库代码到本地(可以不需要登录本地账号)

注意事项

  1. 第二条命令执行后生成两个别名第一个用于拉取pull,第二个用于推送push,

  2. 并且在push之前最好要先pull拉取仓库的代码,本地push的代码不能比远程仓库的代码版本低。

  3. 使用idea的在github上新创建一个远程仓库时如果使用破解版idea可能会出现链接不成功的情况,可以尝试一下在github上自己新建一个仓库然后再用push填写仓库连接上传。

34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)
$ git remote -v
markdown        https://github.com/78687dfgjn/markdown.git (fetch)
markdown        https://github.com/78687dfgjn/markdown.git (push)

34998@LAPTOP-8SD8P8B9 MINGW64 /d/桌面/Study/markdown (master)

在第一次使用第三条命令时,git会让你登录,我试了我直接用浏览器的方式登录不行,然后我选择用github个人token登录成功了

同时可能需要设置

先执行这个git config --global http.sslVerify false

以下可以帮助理解三个指令的关系:

在这里插入图片描述

ssh免密登录协议

以下命令用于生成ssh公钥与秘钥,在github账号里添加公钥

ssh--keygen -t rsa -C github邮箱

设置以后就可以直接使用git pull ssh地址 分支名称去拉取代码而不需要验证了,push操作同理

push、pull操作忽略文件列表

git.ignore模版文件

将模版文件放在用户家目录下

内容:

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

接着在用户家目录下的.gitconfig文件中添加这句话

[core]
	excludesfile = 上面的ignore文件的路径
  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值