git使用总结

简单记录git的一些东西,想到哪里写哪里,比较乱!

官方文档地址:地址

参考学习地址:地址

git忽略文件配置:地址

初始化项目

首先在某个电脑上创建一个文件夹gitlearing,然后打开所在目录,右键鼠标使用Git Base Here

git init命令初始化git本地仓库

cef428242f75e2f9010decd8578c95edf23.jpg

touch learing.txt创建一个learing.txt文本文件

3e69105f706530b312b71b6919669cab3f7.jpg

vim learing.txt打开文本写一些内容,之后保存退出(操作同linux)

5b4193ba822a09162929614c9695c1c6558.jpg

git add learing.txt将文件内容添加到索引(将修改添加到暂存区)

1e2f3ed74a22cb235d97b912b87e713a3ba.jpg

git commit -m 'xxxxx'添加文件内容到本地仓库

93558a44eb4d684098fe251f1d41f4af41b.jpg

本地仓库版本回退

已经add和commit的回退

再次编辑learing.txt文件,操作如上,添加内容然后提交到本地仓库。

git log查看提交过的日志( git log --pretty=oneline  简化查看日志内容)

d79ab3c6d3d58d9ea6de50fdf2f4be30ecd.jpg 

git reset --hard HEAD^ 回退到上一次提交的版本

e6074eda99c0074f187b5ef75b225468d9b.jpg

现在想回退到指定版本。

git reflog 查看所有操作记录,获取版本号460af37,

git reset --hard 460af37 回退到指定版本号的版本

2cff2090304ec62094f935d46558cae6502.jpg

未add和commit的回退

继续修改文件内容,修改完后并且在执行git add命令前

git status 查看状态

cdb78b27430a271dd00360b584020a030b3.jpg

然后不想要刚刚写的东西了,执行下面的命令:

git checkout -- learing.txt

da4eff110810fc43a060fe642499766a7ad.jpg

已add的回退

但是如果执行了git add将文件内容提交到暂存区的情况如下,怎么整?

9ba12fa837ef5722e343c7709ab95f33fdd.jpg

可以这么整,命令如下:

首先执行

 git reset HEAD learing.txt 拉回在暂存区的内容

然后执行

 git checkout -- learing.txt 

git本地分支操作

分支创建和切换

git checkout -b dev    创建并切换分支,dev为分支名称

7ad5cf329b1648f35f4f8ed7f75dedcd712.jpg

git branch 查看所有分支(*表示当前分支)

57e64db4e1e5469d63de98000333be75775.jpg

git branch dev1 创建分支

git checkout dev1 切换分支

0cef52fcad1e1515a68bcec47fba0ef504b.jpg

分支删除

git branch -d dev1 删除分支(不要在当前分支,删除当前分支。应切换到其他分支,在删除dev1分支)

b69e81e08c68eb93f73597b561b74f65130.jpg

有可能出现如下情况:

9a2528f9164e6e4490377eefa73e969f487.jpg

这种情况为dev分支修改了内容并提交。当你删除时提示是否合并分支。不合并的话可以强制删除

 git branch -D dev  强制删除分支

4ff5742f82a443f9aee9f59e15413f7ac9a.jpg

分支合并(无冲突)

git merge dev   快速合并某分支到当前分支

首先创建并切换个分支,然后修改文件内容提交

a3a4bcb5bfc11ff1df43191278ecfc87615.jpg

切换到master分支,查看文件内容,快速合并,再查看文件内容

9ad63299169f1008c461f0f09f0007b65e4.jpg

然后删除dev分支,现在代码已经合并过了。所以删除(用-d而不用-D)就不会出现刚刚的报错了。

ee8b56025eb9124de2a59f4f49bec351cda.jpg

分支合并(有冲突)

先创建两个分支dev1  dev2

43d3618cd4e9f1b49b232e20470d1b3bba5.jpg

分别切换到两个分支并修改文件内容。这里以dev1举例

ade9aa11b2029a16fa2dff1196b5c060d19.jpg

master合并dev1(没问题)

0053f93cf508abe466efb69560b96d1f26b.jpg

master合并dev2(出现问题)

14753d52fb4c701cf854e62fd7ee07cc626.jpg

查看要合并的文件内容

232958dfe5ae97128aa35f382e4f0b4c1bf.jpg

手动解决冲突的内容

dfc39dce375bd2b0b064a4fbe0277a5af03.jpg

查看文件状态

378dd9d86939ac318a62ff4569a05070de1.jpg

提交文件

9a4f70ac98de0b18910c541b2f660d3c470.jpg

git打标签

比如当前项目现在实现了两个功能,用户管理和订单管理。现在需要给最新版本的项目打标签

git tag v2 给最新版本打标签(v2为标签名称)

git tag 查看所有的标签

现在要求给以前的某个版本打标签,首先需要获取提交的版本号,然后根据制定版本号,打标签

815d2c8f44338470cf354c415b7eab67701.jpg

 git tag -d v2 删除标签

git忽略文件

首先在项目目录下创建一个test.class文件,查看状态

a5c18ab01b35614a4d2df200cd758795eaf.jpg

但是这个文件想忽略掉,不想跟踪提交。

可以在项目根目录下创建一个.gitignore文件,配置参考开头给的忽略文件配置,我这里是java开发。所以找java.gitignore

然后再查看就忽略掉了

7e36b0adfc038f342c10a9e8f5043c0bdab.jpg

但是这个.gitignore文件我们需要提交到项目上去,方便其他人。

 

git操作本地仓库和远程仓库

本地仓库和远程仓库建立联系

首先在码云上创建一个同名的项目

eec793b7e704c2b3bb39e14ea21e9578a38.jpg

git remote  查看本地仓库是否有远程仓库

6a457183c2df9dafe94e375d382e0bf4ebd.jpg

 git remote add origin https://gitee.com/xxxx/gitlearing.git  把本地的项目和远程仓库建立联系

f29db0bea246ea54026942c410ab1696f50.jpg

git push -u origin master   推送代码到远程仓库

88e679008d6dfe58430c9cee9baad1b3009.jpg

出现错误,这时候需要拉取一下代码

687b7421dba637416f8aebebb80f6cae9f0.jpg

然后再推送要强制推送否则还会报错 git push -u -f origin master  查看结果

1f6409968c8707948739c30b0b6061de334.jpg

拉取代码 git pull

远程仓库版本回退

自己远程分支版本回退

远程有个属于自己的dev分支,修改文件新增红框内容。这次本打算提交到其他分支,不小心提交到了dev分支,如下操作

a9d3d53ac8a4463f70366fc955cc72e982b.jpg

这么回退?如下操作

首先查看提交日志,找到要回退到的版本号然后回退本地代码到指定版本,最后强制推送回退的版本到远程分支,在查看远程代码已经回退了

aa1c00e6396a0e5e4fff54f5748f00a0910.jpg

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/imlim/blog/1831520

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值