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