0%

git的一些命令


git开发中必不可少的工具,下面看看都有哪些常用命令(仅供参考)

git代码提交

1
2
3
git add .           //注意add和.之间有个空格
git commit -m “随便内容”
git push //提交 /git push origin master ——master分支

Git - git add 添加错文件,如何撤销?

有时可能 git add .(空格 + 点)表示当前目录所有文件,不小心就会提交其他文件。git add 如果添加了错误的文件的话,撤销操作

1
2
3
4
5
git status // 先看一下add 中的文件 

git reset HEAD // 如果后面什么都不跟的话,就是上一次 add 里面的内容全部撤销

git reset HEAD XXX/XXX/XXX.java // 就是对某个文件进行撤销

Git- git add和commit都操作完,如何撤销?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
git reset --soft HEAD^  //这样就成功撤销了commit

git reset --hard HEAD^  //这样连add也撤销了

//HEAD^ 表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。

//也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2。

//--soft 不删除工作空间的改动代码 ,撤销commit,不撤销add

//--hard 删除工作空间的改动代码,撤销commit且撤销add

//如果commit后面的注释写错了,先别急着撤销,可以运行git commit --amend

//进入vim编辑模式,修改完保存即可

git 分支操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
git pull   //拉取分支

git branch -l  //查看本地的分支

git checkout 分支名 //切换分支

git checkout -b dev //git从已有的分支创建新的分支(如从master分支),创建一个dev分支
(分开就是:创建一个新分支 git branch dev , 切换到新的分支 git checkout dev)

git branch //创建完可以查看一下,分支已经切换到dev

git push origin dev //提交该分支到远程仓库

git pull origin dev //测试从远程获取dev

git branch -a //查看当前所有的分支

git branch -r //使用如下Git命令查看所有远程分支

git克隆指定分支项目

1
2
3
4
git clone -b 分支名 项目地址

//例如:git clone -b demo https://github.com/TaleLin/lin-cms-vue.git

git代码合并冲突如何解决

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
一、暂存到暂存区,更新后,从暂存区取出合并解决冲突

1、git pull 出现冲突后可以暂存本地修改git stash

2、然后git pull 更新代码

3、git stash list 可查看暂存记录列表

4、释放本地暂存 git stash apply stash@{0} 就是刚才保存的标记

5、出现冲突文件,找到并解决

6、然后可以提交git add . 加入索引库

7、然后本地提交git commit -m '注释'

8、最后git push到远程
二、更新发现冲突,提交本地,再更新,找到冲突地方解决后,再次提交推送远程

1、git pull更新代码,发现error: Your local changes to the following files would be overwritten by merge:pom.xmlPlease commit your changes or stash them before you merge.这说明你的pom.xml与远程有冲突,你需要先提交本地的修改然后更新。

2、git add pom.xml

git commit -m '冲突解决'

提交本地的pom.xml文件,不进行推送远程

3、git pull

更新代码Auto-merging pom.xmlCONFLICT (content): Merge conflict in pom.xmlAutomatic merge failed; fix conflicts and then commit the result.更新后你的本地分支上会出现 (develop|MERGING)类似这种标志。

4、找到你本地的test.txt文件,并打开你会在文件中发现<<<<<<< HEAD ,======= ,>>>>>>> ae24sgwmfp2m2ojr2jaagwhhfawe2类似这样的标记。
<<<<<<< HEAD和=======中间的是你自己的代码, ======= 和>>>>>>>中间的是其他人修改的代码自己确定保留那一部分代码,最后删除<<<<<<< HEAD ,======= ,>>>>>>>这种标志。
5、git add test.txt && git commit -m '冲突解决结束' 再次将本地的test.txt文件提交。

6、git push将解决冲突后的文件推送到远程。

------ The End ------
您的认可是我不断进步的动力!