目录
- 前言
- Git定义
- 常用用法
- 其他用法
- 拓展:忽略不想提交的文件以及文件夹的设置方法
- 最后
前言
Git对于程序猿来说并不陌生,它是一款非常好用的项目管理工具,无论是前端开发还是后台开发,只要项目里面可以使用Git来管理,就会涉及代码的提交和合并操作,主要是常用的Git操作命令的使用,虽然目前有好多关于Git的可视化代码管理工具,但是掌握Git的命令行操作命令也是必备的。那么本篇文章就来分享一下在Git提交代码的时候使用纯Git命令行提交和合并操作的命令行使用,记录一下,方便查阅使用。
Git定义
Git其实就是一个开源的分布式版本控制系统,它可以有效、高速地处理从很小到非常大的项目版本管理,也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件,其实Torvalds开始着手开发Git是为了作为一种过渡方案来替代BitKeeper。
常用用法
0、克隆分支代码到本地的操作
$ git clone -b dev 地址
1、把远端的origin/master分支和本地的dev分支进行关联的操作
具体的命令行如下所示:
$ git branch --set-upstream-to=origin/dev dev
Branch 'dev' set up to track remote branch 'dev' from 'origin'.
2、拉取远端分支的内容到本地的操作
具体的命令行如下所示:
$ git pull
3、如果有冲突,合并冲突的操作
实际开发中在合并代码的时候冲突会有很多种情况,这里只分享一种分支代码被污染无法抢救的情况,因为这个最有代表性,具体的命令行如下所示:
(1)需要从master上重新创建新的分支;
(2)然后将新创建的分支克隆到本地;
(3)接着打开被污染的分支查看历史提交纪录;
(4)接着通过git cherry-pick 复制提交记录标识id;
(5)若cherry-pick下来的代码有冲突,需要先解决冲突;
具体的解决冲突操作如下所示:
git add .
git cherry-pick --continue
eshsc :q 回车键
(6)接着通过cherry-pick所有需要cherry-pic的代码;
(7)最后通过git push 再次提交合并代码即可。
4、提交本地代码的操作
具体的命令行如下所示:
$git add test.vue
$git commit -m "新增了代码"
5、 把本地分支推送到远程仓库的操作
具体的命令行如下所示:
$ git push origin dev
6、常用的git命令提交代码的操作
$ git add .
$ git commit -m "备注描述"
$ git push origin 分支名
其他用法
1、看看仓库的当前状态的操作
具体的命令行如下所示:
$ git status命令
2、查看具体修改了哪些内容的操作
具体的命令行如下所示:
$ git diff readme.txt
3、显示从最近到最远的提交日志,加上--pretty=oneline参数,简介显示,的操作
具体的命令行如下所示:
$ git log --pretty=oneline
4、版本回退,HEAD^上个版本,HEAD^^上上个版本,HEAD~100,上100个版本,的操作
具体的命令行如下所示:
$ git reset --hard HEAD^
$ git reset --hard 1094a
5、git reflog查看命令操作记录
具体的命令行如下所示:
$ git reflog
6、查看文件内容
具体的命令行如下所示:
$ cat readme.txt
7、用git branch命令查看当前分支,git branch -d dev 删除分支
具体的命令行如下所示:
$ git branch
8、切换分支、创建并切换分支、可以丢弃工作区的修改等操作
具体的命令行如下所示:
$ git branch dev //查看有哪些分支和当前的的分支
$ git checkout dev //切换分支
$ git checkout -b dev //创建并切换分支
$ git checkout -- file //丢弃工作区的修改
9、用于合并指定分支到当前分支的操作
具体命令行如下所示:
$ git merge
10、将另一个分支的某次提交合并到当前分支的操作
场景如:a分支:a, b, c, d1, d2
b分支:a, b, c, d5, d6
把a分支上的某次提交d2合并到b分支上,具体的命令行如下所示:
(1)切换到b分支
$ git checkout B
(2)拉去a分支上的提交d2到b分支
$ git cherry-pick 'f038d7ffb1685af7d4f870ad06f760e8'
11、储藏改变的代码和拉去储藏的代码的操作
① git stash 暂存工作区修改的内容
② git stash pop 恢复暂存的工作区内容
③ git stash list 查询工作区所有stash的列表
④ git stash apply stash@{2} 回复某一次的储藏
⑤ git stash clear 清空所有的储藏
拓展:忽略不想提交的文件以及文件夹的设置方法
Git对于程序猿来说并不陌生,它是一款非常好用的项目管理工具,无论是前端开发还是后台开发,只要项目里面可以使用Git来管理,就会涉及代码的提交和合并操作。当在进行项目协作开发的时候,会遇到这种情况:新建的一些文件或者修改的文件自动生成一些文件,不想提交上传到Git库,如果每次都要根据类型来不选择提交,会做很多无用功,浪费太多不必要的时间成本。
1、分析
首先要知道,一般在git clone下来的项目里面是没有 .gitignore文件的,这就需要手动在提交目录的根目录下新建一个 .gitignore文件,然后git 会自动识别 .gitignore文件,创建完成之后就可以在 .gitignore文件里面写一些创建了的文件但想要忽略不想提交的文件,如:
代码语言:txt复制#目录
.DS_Store
node_modules/
/dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
2、创建.gitignore文件以及设置忽略文件的方法
具体的创建.gitignore文件以及设置忽略文件的步骤如下所示:
(1)在Git拉取下来的项目中的根目录下新建一个 .gitignore文件;
(2)在 .gitignore文件中设置忽略不想提交到Git的文件;
(3)在Git中提交 .gitignore文件
3、知识点延伸
Git提交代码时候,忽略不提交的文件的三种情况:
(1)同上文所述的情况,从未提交过的文件,没有被Git记录的文件,直接使用.gitignore文件忽略该部分的文件;
(2)之前已经推送过的文件,但是想从Git远程库中移除,并且在以后的提交代码中忽略该文件,但是还想要在本地保留该文件,解决方法就是直接使用命令行: git rm --cached PATH/FILE ,PATH/FILE是要忽略的文件,使用具体场景例如 :一不小心把一些log日志文件提交到git上,想要从远程库中删除,就可以用这个命令来操作;
(3)以前已经推送过的文件,但是想在以后的提交代码中忽略该文件,即便是本地已经做了修改,而且不删除git远程库中对应的文件
执行命令: git update-index --assume-unchangedPATH/FILE ,PATH/FILE是要忽略的文件,使用具体场景例如 :git远程库上有一个标准的配置文件,然后每个开发者根据具体情况,修改一份链接信息自用,而且不把该配置文件提交到远程库中,就可以用这个命令来操作;
4、小结
根据上述流程的操作,会发现在Git提交代码的时候整洁了很多,不需要提交的文件都不见了,也不用每次提交代码都要勾选哪些是需要提交的文件哪些是不需要提交的文件,解决了不必要的麻烦,瞬间舒服很多。
最后
根据上述关于Git使用常用命令汇总的介绍,尤其是通过命令行管理代码的时候,这些命令都是必备的,而且如果Git可视化工具出问题提交不了代码,也可通过纯命令行的方式进行代码的拉取和推送。掌握上面的常用命令,在代码维护中可以轻松很多,尤其是对于Git使用不是太熟的开发者更为重要,可以记下来了。