作为一个编程人员,虽然很多命令可以通过可视化工具操作,但熟练命令行也是很重要的基本技能。
Git版本控制系统
优点:方便追溯功能,方便代码合并
集中式版本控制系统(svn)
版本文件集中存放在中央服务器,使用者必须先从中央服务器拉取文件到自己的电脑,修改完成后再推送到中央服务器:
1、版本控制必须借助网络,网速慢时上传下载速度受到影响
2、中央服务器出现故障,则会受到比较大损失
分布式版本控制系统(码云 )
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,工作的时候,就不需要联网,因为版本就在自己的电脑上面
1、分布式版本控制系统的安全性要高很多,因为每个人电脑里面都有完整的版本库,某一个人的电脑坏掉也没事,随便在其他的那里复制就行
2、强大的分支管理系统
官网上下载git
本人用的是mac版本的,windons
查看git版本,在命令行
1
2
3git --version 后面就会出来版本号,则证明git已经下载好了
给git设置名字和邮箱
1
2
3
4git config --global user.name "daxiu" git config --global user.email "xxx@qq.com" 什么都没有反回则代表设置名字和邮箱成功
远端创建项目,本地拉取进行运用
克隆项目
复制远端的项目地址,进入自己文件需要存放的地点
1
2
3$ git clone 远端地址 luoshundeair:Desktop luoshun$ git clone https://gitee.com/daxiu888/cash.git
可能会需要输入账号和密码
1
2
3Username for 'https://gitee.com': 账号名字 Password for 'https://daxiu888@gitee.com': 账号密码
这样的你就把远端的项目给克隆到自己的电脑上面了
在我们克隆下来的文件夹中新建你需要书写的代码,将代码储存在暂存区,再把暂存区的代码提交到当前分支
1
2
3
4
5
6
7git add ./ git commit -m 新增index.html文件 出现下面,则代表添加到本地成功 [master d701529] 新增index.html文件 1 file changed, 12 insertions(+) create mode 100644 daxiu.html
然而我们现在的代码只是在本地,需要添加到远程
1
2git push
这样就添加到远程成功啦~~~~~
项目是团队合作,所以大家可能都会更改项目,每次我们提交的时候都需要5个步骤命令
1
2
3
4
5
6
7
8
9把代码增加到暂存区 git add ./ 把暂存区的代码提交到当前分支 git commit -m 新增index.html文件 拉取远端 git pull 提交到远端 git push
本地创建项目,上传到远端,进行运用
在终端中进入文件夹
1
2
3
4
5git init 后面出现 Initialized empty Git repository in /Users/luoshun/Desktop/bendi/.git/ 则代表初始化成功
编写代码后,增加到暂存区
1
2git add a.html(增加的名字)
把暂存区的代码提交到当前分支
1
2
3
4
5
6
7git commit -m 新增a.html 出现 [master (root-commit) 023120e] 新增a.html 1 file changed, 12 insertions(+) create mode 100644 a.html 则代表增加成功
查看提交暂存日志
1
2
3
4
5
6
7
8
9
10
11
12git log 出现 commit 023120ec4ff65ecfcd77e90094d87375da1ebef2 (HEAD -> master) Author: yangxiu <904376130@qq.com> Date: Sun Mar 8 22:17:51 2020 +0800 新增a.html 可以查看提交明细 git shortlog 也可以查看日志(只是没有这么明细) 按q键退出
查看作者明细
1
2git config --list
把本地和远程合并起来
1
2
3git remote add origin 仓库地址 git remote add origin https://gitee.com/daxiu888/cash.git
把本地库文件和远程库文件进行合并(必须指定分支),并且远程仓库已存在代码记录,并且那部分代码并没有和本地代码进行相关联
1
2
3
4
5
6git pull origin master --allow-unrelated-histories 出现很多``` 我们按键盘上的esc 在输入:wq就可以了 有一些+++++
合并后提交代码
1
2git push -u origin master
这样本地就和远程已经合并啦
git的分支
分支的概念:工作需要从主线上分离开来,以免影响开发主线,这个时候就需要开启新的分支
git保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照,
在进行提交操作的时候,git会保存一个提交对象(commit object),该提交对象会包含一个指向暂存内容快照的指针,在需要时通过指针快速重现此次保持的快照
git 分支的新建和切换
查看当前git有多少远程分支
1
2
3
4git branch -r 目前只有master这个分支 * master
查看当前git有多少本地分支
1
2
3
4git branch 目前只有master这个分支 * master
查看本地和远程全部有哪些分支
1
2
3
4
5git branch -a 绿色的是本地的,红色的是远程的 * master remotes/origin/master
新建分支
1
2
3
4
5
6
7
8
9git branch dev 现在我们再查看 git branch -a 则多了刚才我们新建的分支(但是还是在我们的master分支上面) dev * master remotes/origin/master
切换分支
1
2
3
4
5
6
7
8
9git checkout dev 这样则代表切换分支成功 M oo.html Switched to branch 'dev' 在查一下git branch -a(现在就在我们的dev分支上面了) * dev master remotes/origin/master
这个时候我们修改文件,并且增加,他是在dev分支上做的修改。和master分支没有关联
当我们切换到master分支上
1
2git checkout master
发现master分支上。项目里面的内容没有的到任何的改变
当我们想要新增一个分支,并且直接切换到新建的分支上面
1
2
3
4
5
6
7
8git checkout -b dev2 当我们再查看分支情况的时候 git branch -a dev * dev2 master remotes/origin/master 我们则新建了一个dev2分支了,并且已经切换到上面了
git分支的合并
当我们再dev分支上写好了,需要全部合并到master分支上面
我们先切换到dev分支
1
2git checkout dev
把dev分支提交到暂存区
1
2
3git add ./ git commit -m 完成dev
我们再切换到master分支
1
2git checkout master
把dev分支的代码合并到master上面(本地)
1
2git merge dev
在把master推送到远端。就完成了
如果本地有的分支需要直接发到远端作为分支
1
2
3
4
5
6
7
8
9git push origin dev:dev 在查看 dev dev2 * master remotes/origin/dev remotes/origin/master 远端上也有了dev分支
git分支的处理
同一个代码多个人修改了,而git并不知道保存哪个版本
通常咋git pull和git merge命令时。出错时我们则需要解决冲突
需要在本地修改完成,在推送上去
git的版本追溯
查看所有的版本提交
1
2git log
回退到上一个版本
1
2git reset --hard HRAD^
回退到两个版本
1
2git reset --hard HRAD^^
回退到自己想要的版本
1
2
3git reset --hard <commit_id> commit_id:是通过我们git log打出来的版本信息上面的Merge:oldid newid///的newid
记录我们所有的操作记录(想回到哪个版本,就根据id回退到自己想要的版本)
1
2git reflog
当我们回退版本以后,需要提交到远端【通过强制推送到远端】
1
2git push -f
git文件忽略
在文件夹目录建立.gitignore
文件,里面填写自己需要忽略的文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16.DS_Store node_modules/ unpackage/ npm-debug.log* yarn-debug.log* yarn-error.log* # Editor directories and files .idea .vscode *.suo *.ntvs* *.njsproj *.sln !/unpackage/ /unpackage/
如果是已经跟踪了版本,后续再新建的.gitignore
文件,则手动加入了文件,但是没有忽略,这时候需要手动清楚本地的跟踪(例如:node_modules文件夹)
1
2
3
4git rm -r --cached node_modules git add . git commit -m 'update .gitignore'
补充命令
新建文件夹
1
2mkdir "文件夹名字"
查看文件夹下面有哪些文件
1
2ls
新建文件
1
2touch '文件名'
删除文件
1
2
3
4rm -rf '文件名' 不可恢复 rm '文件名' 普通的删除
修改后查看不同
1
2git diff '文件名'
拉取所有分支
1
2git fetch
打开当前文件下的所有文件
1
2open .
打开当前文件下的指定文件
1
2open . ' 文件名字'
最后
以上就是无情羊最近收集整理的关于Git常用命令细解git文件忽略补充命令的全部内容,更多相关Git常用命令细解git文件忽略补充命令内容请搜索靠谱客的其他文章。
发表评论 取消回复