git学习

文章目录

  • 介绍
  • git常用命令
  • git分支操作
    • 常用命令
    • 合并冲突
  • 远程仓库
    • 常用命令
    • 注意事项
  • push、pull操作忽略文件列表
    • git.ignore模版文件

介绍

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

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

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

➡️git学习_第1张图片

查看当前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
序号 命令内容 作用
1 git config --global user.name 用户名 设置用户签名
2 git config --global user.name 邮箱 设置用户邮箱
3 git init 初始化本地仓库
4 git status 查看状态
5 git add 文件 将文件加入暂存区开始受git管理,追踪,每次修改需要重新追踪
6 git rm --cached 文件 删除暂存区的该文件
7 git commit -m “日志信息” 文件名 将暂存区文件提交到本地库,同5每次修改也需要重新提交
8 git reflog 查看文件更新版本信息
9 git log 比8更详细一点,版本号也更长一点
10 git reset --hard 版本号 回溯版本至该版本号

git分支操作

常用命令

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

合并冲突

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

解决方法:

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

git学习_第2张图片

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

远程仓库

常用命令

序号 命令内容 作用
1 git remote -v 查看当前所有远程地址别名
2 git remote add 别名 远程地址 给远程地址起别名
3 git push 别名 分支 必须指定分支,别名也可以用地址
4 git pull 别名 分支 拉取远程库对应分支的代码
5 git 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

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

git学习_第3张图片

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文件的路径

你可能感兴趣的:(Git,git,学习)