git常用的命令

MuyingBlog / 2023-08-12 / 原文

一.克隆git上的项目

1.1克隆git上的主分支项目

git clone 项目链接

1.1克隆git上的其他分支项目


标题: SQL Server 导入和导出向导
------------------------------

操作无法完成。

------------------------------
其他信息:



------------------------------
按钮:

确定
------------------------------
git clone -b 分支名 项目链接

二.上传git项目

2.1 初始化本地库

git init

2.2 查看本地库状态

git status

2.3 添加暂存区(将工作区的文件添加到暂存区)

git add 文件名  ----添加单个文件到暂存区
git add . 		----添加全部文件到暂存区

2.4 提交本地库(将工作区的文件提交到本地库)

git commit -m "日志信息" 文件名  ---提交单个文件到本地库(暂时不用)
git commit -m "日志信息"  ---提交全部文件到本地库

2.6 添加远程仓库的别名(远程仓库链接)

git remote add 别名 新的仓库路径 --添加远程仓库的别名(暂时不用)
git remote add origin 新的仓库路径

2.5 推送本地分支到远程仓库

git push 别名 分支
git push origin master
----Git系列:git push -u origin master命令理解

git push -u origin master
相当于
git branch --set-upstream-to=origin/master master//将远程仓库origin的master分支与本地仓库master分支关联
加
git push orig
  ---(git push -u origin master)命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。不带任何参数的git push,默认只推送当前分支,这叫做simple方式。in master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。不带任何参数的git push,默认只推送当前分支,这叫做simple方式。

三.拉取远程库分支到本地库

git pull 别名 分支 	   --拉取(暂时不用)
git pull  			  --拉取

四.Git分支

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

4.1查看分支

git branch -v

4.2创建分支

git branch 分支名

4.3合并分支

1.正常合并不冲突

在这里插入图片描述

2.合并产生冲突

冲突产生的原因:

  • 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。
  • 有两套完全不同的修改。 Git无法替我们决定使用哪一个。必须 人为决定新代码内容。

例如,我们首先在 master 分支的倒数第二行进行修改,并将其添加到暂存区,再提交到本地库。在这里插入图片描述

接着,我们去 hot-fix 分支的倒数第一行进行修改,并将其添加到暂存区,再提交到本地库。

在这里插入图片描述

之后我们在 master 分支上合并 hot-fix 分支,发现产生冲突。

在这里插入图片描述

解决冲突

编辑有冲突的文件,删除特殊符号,决定要使用的内容

特殊符号:<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>>hot-fix

在这里插入图片描述

在这里插入图片描述

删除完成之后保存,再次添加到暂存区,并再次提交到本地库(注意:此时使用 git commit 命令时候不能带文件名)。

在这里插入图片描述

.gitignore 不生效的解决方案

当我们将 .gitignore 文件配置好后,却往往不能失效。这是因为 .gitignore 只能忽略那些没有被追踪(track)的文件,因为 git 存在本地缓存,如果文件已经纳入了版本管理,那么修改 .gitignore 是不能失效的。那么解决方案就是要将 git 的本地缓存删除,然后重新提交。

git rm -r --cached .
git add .
git commit -m 'update .gitignore'