四、git实战演练

一、暂存区提交与撤销

比较工作区和仓库的不同

修改文件后直接commit(只在工作区修改,没有commit到git仓库)

1 #执行以下命令,比较工作区和仓库的不同
2 git diff HEAD -- [文件名]

1 差异比较说明:
2 '---':表示变动前的文件
3 '+++':表示变动后的文件
4 变动的位置用两个@符号作为开始和结束
5 '-0,0':减号表示第一个文件,第一个0表示第0行,第二个0表示连续0行;
6 '+1,2':加号表示第二个文件,第一个1表示第1行,第二个2表示连续2行;

删除暂存区文件

1 git reset HEAD [文件名]

二、版本回退

1、查看版本日志(方法一)

1 git log

2、查看版本日志(方法二,查看所有版本信息)

1 git reflog

3、查看版本日志(方法三,简洁版)

1 git log --pretty=oneline

4、版本回退(适用回退少数量版本)

1 #回到上一个版本
2 git reset --hard HEAD^
3 
4 #回到上两个版本
5 git reset --hard HEAD^^
6 
7 #回到指定数量版本前(eg:回到3个版本前)
8 git reset --hard HEAD~3

5、回到指定版本

1 git reset --hard [唯一id]

三、版本删除

1 #取消工作区删除文件(git仓库没有删除)
2 git restore [工作区删除的文件名]
3 
4 #从版本库拉回
5 git checkout [工作区删除的文件名]
6 
7 #从版本库删除
8 git rm [版本库中要删除的文件名]

四、远程仓库

1 #查看本地仓库提交的内容
2 git ls-files
3 
4 #添加远程仓库
5 git remote add [远程仓库别名:默认origin] [远程仓库地址url]
6 #eg:git remote add origin https://github.com/...
7 
8 #推送到远程仓库,之后使用git pull拉取代码、git push推送代码
9 git push -u origin master

使用SSH地址

生成密钥

1 ssh-keygen -t rsa -C "github/gitee账户邮箱"

密钥地址:

1 /c/Usres/Administrator/.ssh/id_rsa

在github或者gitee设置中找到SSH设置 ---> 新建SSH,添加公钥(不要加密钥)

其他同https

五、本地分支操作

 1 #查看本地所有分支
 2 git branch
 3 
 4 #新建一个分支(但仍然留在当前分支)
 5 git branch [branch-name]
 6 
 7 #切换到指定分支
 8 git checkout [branch-name]
 9 
10 #新建分支并切换(组合写法)
11 git checkout -b [branch-name]
12 
13 #删除指定分支
14 git branch -d [branch-name]
15 
16 #合并指定分支到当前分支(当前分支为master,此操作在master分支上进行)
17 git merge [branch]
18 
19 #重命名分支:如果newbranch名字已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名
20 git branch -m|-M [oldbranch-name] [newbranch-name]

六、远程分支操作

 1 #查看远程所有分支
 2 git branch -r
 3 
 4 #查看本地和远程所有分支
 5 git branch -a
 6 
 7 #拉取远程仓库的变化,并与本地分支合并(建立链接)
 8 git pull <远程仓库别名> [远程分支名]:[本地分支名]
 9 #简写:(远程分支名和本地分支名相同)
10 git pull <远程仓库别名> [分支名]
11 
12 #创建远程分支&推送本地分支到远程分支
13 #1、会创建远程分支
14 #2、远程分支与本地分支名字相同
15 git push origin [branch-name]
16 
17 #删除远程分支(本地分支还保留),危险操作
18 git push origin :[remote_branch]
19 
20 #拉取远程分支并在本地创建分支(注:远程分支前加origin)
21 git checkout -b [local_branch] origin/[remote_branch]

七、解决本地分支冲突

1、本地分支修改文件

2、切换分支修改相同文件相同行内容

1 git checkout master

3、在主分支进行合并

1 git merge dev1

此时出现冲突问题

4、冲突解决办法

根据业务进行手动解决

  • 第一步:编辑文件,删除特殊符号

  • 第二步:把文件修改到满意的程度,保存

  • 第三步:git add [文件名]

  • 第四步:git commit -m '日志信息'

    • 注意:第四步commit时不带文件名

解决冲突后重新add,commit

5、查看分支合并图

1 git log --graph --pretty=oneline

八、多人冲突解决

1、先拉取

2、手动改冲突

3、重新add、commit、push

posted @ 2021-08-01 22:26  大米饭盖饭  阅读(47)  评论(0)    收藏  举报