git实用命令(不断更新中......)

git实用命令(不断更新中…)

git是一个分布式版本控制系统。前端开发时,git也是一个我们绕不开的工具,它可以帮助我们方便地上传、更新自己的项目代码。git是通过执行命令行来工作的,它的命令也特别多,下面将常用到的git命令总结如下:

1、打开d盘命令:

cd d:

2、新建一个名为src的文件夹

mkdir src

3、新建一个index.html文件

touch index.html

4、返回上一级

cd ..

5、显示当前目录下的所有文件

ls

6、清空git终端屏幕上所有的命令行及其运行结果显示

clear

7、克隆github上easy-webpack-vue项目

git clone https://github.com/xm2by/easy-webpack-vue.git

git clone后面跟项目地址

8、项目提交时的一系列操作

// 查看本地项目状态
git status
                                             
//追踪新文件、将追踪的文件放入到暂存区
git add .                                                  

//提交更新
git commit -m '描述此次提交的简介'       

//将项目推送到网上仓库
git push                                                  

9、对于多人合作开发一个项目,在提交项目时,需先查看其他人是否修改过的项目,如果修改过,需要将其他人修改过的内容更新到自己本地项目,然后再提交。

git pull

10、git pull之后出现git界面不管按什么都没反应,解决方法有两种:

  • 1、暴力关掉git,重新打开;

  • 2、在没有反应的git界面输入:wq,然后按回车,这是比较优雅且高大上的解决方法;

11、切换主干、分支

git checkout 'master/分支名'

实践案例:我们组内有这样一个规定:项目中新需求开发的代码要提交到主干上,而缺陷(bug)修复的代码要提交到最新的分支上,有一次,我接到一个新的需求开发,开发之前没看本地上的代码是分支上的还是主干上的,就直接开干,开发完之后准备提交代码,这时候一看发现怎么是在分支上开发的,瞬间就傻眼了,如果在开发之前我就切换到主干上,这时候,我只需要git status -> git add . ->git commit-m ‘描述’ -> git push就完事了,可是现在是在分支上,这可咋办啊?事前不git checkout,事后还得要git checkout。最佳解决方法:不要在分支上做任何提交,直接切换主干,切换到主干后,在分支上修改、新增的代码都会被切换到主干上,这种切换它属于将未提交的代码整体搬移过来,这样就可以git status -> git add . ->git commit-m ‘描述’ -> git pull -> git push将新开发的代码提交到主干上。

12、git add -u 将文件的修改、删除添加到暂存区,新建的文件不会被添加

一般在提交代码前都会进行git status这个操作,之后会显示哪些文件被修改了,哪些被删除了,哪些新增的并提示这些新增的文件还没有被追踪(即它们是untracked状态),git add -u就是将tracked状态的代码添加,untracked状态的代码不添加。

13、git commit后想取消某次提交

// 不删除我们已改动的代码,撤销commit,不撤销git add . 操作
git reset --soft

// 不删除我们已改动的代码,撤销commit,并且撤销git add . 操作
git reset --mixed

// 删除我们已改动的代码,撤销commit,并且撤销git add . 操作
git reset --hard

14、git commit注释信息写错了,如何修改:

// 此时会进入默认vim编辑器,修改注释完毕后通过esc退出编辑模式,再输入:wq退出即可
git commit --amend

15、git提交文件时,是否需要区分文件名大小写:

当远程仓库存在一个名为tempFile文件,本地将该文件名修改为TempFile时,如果设置文件名不区分大小写,则git认为这两个文件为同一个文件,不会将本地修改后的文件名更新到远程仓库,如果设置文件名区分大小写,则git会将修改文件名后的文件看做是新增文件,原来的文件会被删除,即修改后的文件名会更新到远程仓库。

// 文件名要区分大小写
git config core.ignorecase false

// 文件名不需要区分大小写
git config core.ignorecase true

16、git add后想撤销怎么办?

// 撤销最近一次git add
git reset HEAD

你可能感兴趣的:(git)