搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
weixin_40725706
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
挑战杯 机器视觉目标检测 - opencv 深度学习
2
图像处理之opencv识别图片和视频中人脸_图像识别视频里的人数
3
机器学习Pytorch图片识别_pytorch 图像识别
4
机器学习中的numpy的array_机器学习- Numpy基础 吐血整理
5
PSP - D-I-TASSER DeepMSA2 源码简读
6
30.HarmonyOS App(JAVA)鸿蒙系统app多线程任务分发器
7
Android网络功能开发(5)——Socket编程接口_android使用socket实现实时视频
8
三款远程控制软件对比,5大挑选指标:安全、稳定、易用、兼容、功能_远程控制软件 哪个安全
9
2023网络安全岗面试题汇总(附答案)_网络安全面试题
10
开源漏洞扫描器合集_漏洞扫描 中间件路径
当前位置:
article
> 正文
Mac使用Git简易入门教程_mac git apply
作者:weixin_40725706 | 2024-03-07 22:37:19
赞
踩
mac git apply
1, 首先要了解什么是Git。
简而言之,Git是一个分布式的代码版本管理工具。类似的常用工具还有SVN,CVS。
概念了解参见;
http://baike.baidu.com/subview/1531489/12032478.htm?fromId=1531489&from=rdtself&fr=wordsearch
2,为什么要使用Git。
Git相比SVN,CVS,最大的特点也是优点在于提供分布式的代码管理。这不是说SVN等不具有该功能,但就目前来看,Git更完善,而且也越来越多地被人们所接受。前途和易用是我一向选择的基准。
在使用中,目前体验到最大的相比SVN的好处有;
分支代码只有一份!log在本地!合并代码更加方便!更加安全!目录更加简洁!
简单做下解释;
分支代码只有一份!
使用过svn的童鞋想必都知道,当我们要开发一个新功能或者增加一个新版本或者修改一个复杂bug的时候,通常需要copy整份代码到本地一个目录,然后添加到svn服务器上进行代码管理。
而Git不同,Git可以创建许多branches,每个branch都是独立的,当我们需要修改代码的时候,commit也只是对本地仓库的修改。如果使用SourceTree,我们会发现在工具栏的Git Flow功能,已经很好的为此做了准备。
log在本地!
svn的log都是存储在服务器上的,当我们要查阅修改记录的时候,必须要能够连接上远程服务器,并且具有权限。而Git不同,Git对于本地仓库的修改记录都是在本地上的,方便查阅。
合并代码更加方便!
因为Git支持本地无限Branches,当我们个体在本地创建多个branches用于不同目的的时候(修改,新增,探索),合并一份代码显然要比svn合并一堆工程copy更加简单。
更加安全!
Git的commit命令不同于SVN,commit只是对本地仓库代码的一次更新。当需要提交到master远程仓库,或者其他远程分支仓库的时候,需要使用push功能。虽然增加了一个过程,却可以防止随意修改导致后期合并出现大问题的风险。
目录更加简洁!
在Git本地仓库根目录,只有一个.git文件,它包含了所有的管理信息。而SVN想必大家都知道,每个子目录下都有噁心的.svn。这个当需要修改文件冲突等问题时,就需要考虑了。肯定是一个文件简单。
3, 如何安装Git到MAC OS X
这里介绍两种方式;
一,使用Git command-line
二,使用GUI工具SourceTree,功能很强大,很方便
在进行安装前,要说一下,Git和SVN一样,都需要创建一个服务器的,他们都可以创建自己的版本管理服务器。对于个人和小团队来说,使用托管服务器可能更合适,
常见的有Github 和 Bitbucket。这里我介绍下Bitbucket,Github因为没有个人免费仓库使用,代码放上去就是开源的,所以这里我选择Bitbucket。另外,现在Bitbucket的个人仓库相关页面已经基本汉化了。注册流程也比较简单。
详见链接;
https://bitbucket.org/
这里先介绍下使用Command-line。
1,下载Git installer,地址;
http://git-scm.com/downloads
2,下载之后打开,双击.pkg安装
3, 打开终端,使用git --version命令查看安装版本,有就是安装成功了
/*以下4.5命令如果已经使用Bitbucket创建过了,将会自动包含*/
4,创建一个全球用户名
git config --global user.name "FIRST_NAME LAST_NAME"
5,创建一个全球邮箱
git config --global user.email "
MY_NAME@example.com
"
6, 如果不想每次连接远程仓库都输入密码的话,输入如下命令
git credential-osxkeychain
------>等待
git config --global credential.helper osxkeychain
# Set git to use the osxkeychain credential helper
到此Git就安装完成了。
二,关于SourceTree这里先不做介绍。初始安装和SVN类似。
4, 如何使用Git
这里也介绍两种方式
一,使用command
二,使用SourceTree
先介绍第一种;Command line
使用终端的命令行时,首先我们要有一定的linux命令行知识。实际使用中经常用到的比较少,这里只介绍一些必要的。
参考链接;
http://www.renfei.org/blog/mac-os-x-terminal-101.html
linux基础命令;
sudo -s
获取绝对用户权限
cd xxx
进入xxx目录
ls (-a/-A)
显示当前路径下所有文件(隐藏的)
pwd
显示当前绝对路径
mkdir xxx
创建文件夹xxx
man xxx
查看xxx命令手册
然后介绍下Git基础命令的含义;
clone
克隆远程仓库
init
初始化仓库
remote
连接远程仓库
pull
从远程仓库下拉获取新数据
push
将本地仓库新增或修改文件上传到远程仓库
add
添加文件或者修改文件,commit以及push之前使用
log
当前仓库提交过的日志信息
status
当前仓库版本状态
commit
提交到当前仓库中
branch
分支命令,相关增删查操作
checkout
使用远程仓库最后一个版本完全覆盖当前仓库内容/选择分支branch
diff
对比版本内容
merge
合并版本内容
详细参见链接;
https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+Documentation+Home
使用Git,我们当然要有一个远程仓库,这里假设我们已经创建好了Bitbucket账号(创建远程仓库repository使用)。
创建远程仓库的方法这里也介绍两种方式。
一,使用Git 命令创建
二,在Bitbucket上创建
第一种,使用Git 命令行
初始化
git init
--------->
从Bitbucket上复制仓库地址
--------->
添加别名为origin的源到远程仓库地址
git remote add origin
https://myAccountName@bitbucket.org/myAccountName/myRepositoryName.git
第二种,Bitbucket上创建远程仓库
注册之后按照提示创建即可,非常简单。。。不再复述。
详见参考;
https://confluence.atlassian.com/display/BITBUCKET/Bitbucket+Documentation+Home
中的Bitbucket 101文档
---------以上为初始创建--------------华丽的分割线---------------以下为操作版本库-------------------
有了远程仓库Repostiory,我们该添加代码或者其他文件什么的了
这里还是介绍两种;
一, 使用command-line
二, 使用SourceTree
第一种, 使用command-line
在本地目录链接了远程仓库后(clone命令),使用如下方法操作文件。
git add xxx 添加或要修改的xxx文件
------------------>
git commit -m "adding repo instructions" 提交xxx文件到本地仓库版本中 ;-m “XXXX” ;提交log
------------------>
git push -u origin master 提交xxx和log,到远程仓库origin(刚才创建的远程仓库Repository的别名)的master分支下
第二种, 使用SourceTree
和svn类似,具体流程为;
add----添加文件到索引----->commit------提交到本地仓库------>push--------上传到远程仓库--------->
之后就是对仓库中文件的增加修改删除操作了
Ps:记得如果不是单独另需创建的branch,每次对本地仓库操作的时候都要使用 git pull命令,更新远程仓库到本地中,防止冲突。这点和SVN的update类似
先介绍到这里,其实操作起来基本和SVN的命令行工具还有gui工具类似。
实际使用中主要区别还是分布式的开发模式不同。
欢迎大家来补充~
----------------------------------------------------------------------分割线-------------------------------以下为对Git的Branch进行说明-------------------------------------------------
Branch就是分支,Git相比SVN,最大的优点是完善的分布式管理。每一个本地的Repository,也就是仓库,都相当于一个本地版本服务器,在此基础上我们可以进行许多Branches,进行不同
类型的开发。Branch的目录统一性使得它的管理,包括merge非常简单方便。
一, 先介绍下SourceTree下的Branch,
这里提供个比较详细的博客链接,供大家参考,图文并茂,已经解释的比较详细了,不再复述。
参考地址:
http://www.takobear.tw/12/post/2014/02/bear-git-flow-sourcetreegit-flow.html
二, 使用command-line创建branch分支
待续。。。。。。
----------------------------------------------------------------------分割线-------------------------------以下为小技巧-----------------------------------------------
1, Git Stash命令
说到branches,使用Git开发较复杂的项目我想本地肯定会有多个。假如我们有一个临时紧急的重要任务,需要切换到其它branch,那么我们需要commit当前的内容。
但是,假如我修改的内容比较乱,或者其它什么原因不想提交到仓库中呢,这时候我们就可以使用
Stash
命令了。
$ git stash
这个命令的意思是将当前工作区的内容放到一个临时的区域,这意味着,使用git status,或者add commit命令,是无效的。
但是我们很好的保护了现场。接下来就可以checkout到其它branch工作了。
回来之后,要回复一下现场。这里要简单说明下,stash命令的一个工作机制。
当使用了stash命令后,当前工作区域的内容会被push进一个栈队列里,是的,就和navigationController一样。
假如我们要回复现场。有两种选择;
pop
, 或者
apply
pop
顾名思义,当前暂存内容从栈队列里消失了,
apply
则和objectAtIndex一样,队列里仍然有该暂存内容。
当多个branches被我们stash的时候,会用到如下两个命令;
git stash list
: 显示Git暂存栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear
: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
Ps:
记住,多多使用git status 命令,就好比,好记性不如烂笔头。git 帮我们做好的笔记要多多查看,防止出错。
2, 让Git忽略烦人不想追踪的文件
一,可以设置整个Git仓库需要忽略的文件。
$ git config –global core.excludesfile ~/.gitignore_global
$vim ~/.gitignore_global
然后在.gitignore_global文件里面设置我们想要忽略的文件。比如添加如下
# Mac OS X
*.DS_Store
# Xcode
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/
#Git
.gitingore
.gitingore.swp
之后保存就可以了。如果输入git status仍然提示有不期望的被追踪的文件。需要清理下
$ git rm --cache xxx
xxx为想要忽略的文件
好了,再也不会有烦人的文件了
二,可以单独为某个目录设置忽略文件。
到想要忽略文件的目录下,
$ vim .gitignore
添加如上规则的名字
保存之后,退出,就可以了。
关于忽略文件的命名规则,请参考链接:
http://bdxnote.blog.163.com/blog/static/844423520124153051409/
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/weixin_40725706/article/detail/207818
推荐阅读
article
Python
内置
函数
—
filter
(
过滤器
)...
为什么80%的码农都做不了架构师?>>> ..._
filter
(lambda x:x<60,...
赞
踩
article
建议收藏
100
道
Linux
面试题
附答案...
关注公众号“Java后端技术全栈”回复“000”获取程序员必备电子书大家好,我是老田,今天我给大家分享
100
道
Linux
...
赞
踩
article
Markdown
常用
数学
符号
和公式_
markdown
数学
符号
...
文章目录
Markdown
常用
数学
符号
和公式1. 如何插入公式2. 常见
数学
符号
和公式2.1 上下标2.2 括号和分隔符...
赞
踩
article
java
获取
系统
CPU
和内存
使用率
的三种方法_
oshi
获取
cpu
使用率
...
log.info("
CPU
总数 = {},
CPU
利用率 ={}",processor.getLogicalProcess...
赞
踩
article
地铁
隧道
人员
定位如何进行安全
巡检
_
地铁
如何
巡检
...
地铁
隧道
作为达成解决交通拥堵问题最有效的交通形式,在网络信息时代背景下,大数据、物联网、数字化系统等信息技术也应用在了城...
赞
踩
article
本地
安装
jekll
环境_
jekyll
emby
...
之前一直用资料收藏大师,都几年了.只是最近总感觉少了一些什么发现了
jekyll
,由于是网页的希望以后可以更便利.但是
安装
...
赞
踩
article
【
Markdown
箭头
的
输入
方法汇总】
_
markdown
箭头
...
【
Markdown
箭头
的
输入
方法汇总】
_
markdown
箭头
markdown
箭头
...
赞
踩
article
语义
化
与
自动
化
——
第三代
指标
平台
两大核心能力详解(内含Q&A)...
【作者简介】杜雪芳,Aloudata 合伙人兼首席业务架构师。12 年数据业务从业经验,3 年管理咨询经验。历任阿里集团...
赞
踩
article
python
——
推导
式_过滤掉原
列表
names
中所有
长度
小于等于3的
字符串
元素...
推导
式是可以从一个数据序列构建另一个新的数据序列的结构体。
列表
推导
式[表达式 for 变量 in
列表
] 或者 [表达式...
赞
踩
article
git
关闭
密码
自动
存储
_
git
删除持久化
存储
的
账号
密码
.
git
-
credentials
...
git
在提交时,发现提交不了,个人信息不是自己
的
,通过
git
config --list看到邮箱和用户名都是自己
的
。这时...
赞
踩
article
C++
(
20
):
concept
概念
_
concept
用法
cpp
...
编译错误:error: request for member 'p' in 't', which is of non-c...
赞
踩
article
Linux
安装
VMware
Tools
教程_
liunx
系统中怎么
安装
vmware
tools
...
1.点击"虚拟机"->“
安装
VMware
Tools
”。点击完成以后,虚拟机上面会出现
VMware
Tools
的镜像。2...
赞
踩
article
linux
文本处理
命令
awk
'
,Linux
文本处理
三剑客:
grep
/
sed
/
awk
...
grep
:文本搜索
grep
命令介绍
grep
,用来查找文件中匹配指定文本的行并打印出来语法格式:
grep
[选项] PA...
赞
踩
article
跨时钟
域
处理——专用
握手
信号
_
握手
信号
是
什么
意思
...
所谓
握手
,即通信双方使用了专用控制
信号
进行状态指示,这个控制
信号
既有发送
域
给接受
域
的也有接收
域
给控制
域
的,有别于单向控...
赞
踩
article
在
python
中
filter
是
什么
意思_
python
中
的
filter
函数
功能
是
什么
?...
在
python
中
,面对众多的数据,我们要过滤筛选出我们需要的数据。
python
中
的
filter
函数
就
是
起到了过滤筛选的作...
赞
踩
article
python
代码
:
filter
()
函数
_
python
series
filter
数值...
python
代码
:
filter
()
函数
"""
filter
(function or None, iterable) -->...
赞
踩
article
第十七天
---
PVST
_
pvst
的
root
选举...
第十七天
---
PVST
_
pvst
的
root
选举
pvst
的
root
选举 ...
赞
踩
article
CentOS7
搭建NAS,包括NFS、ISCSI_
centos
安装
如何选择
nfs
、
iscsi
安装
包...
第一步:
安装
更新系统yum update
安装
iftopyum install epel-releaseyum ins...
赞
踩
article
scrapy
简单
分布式
爬虫
_
分布式
爬虫
是
scrapy
吗...
虽然
scrapy
能做的事情很多,但是要做到大规模的
分布式
应用则捉襟见肘。有能人改变了
scrapy
的队列调度,将起始的网址...
赞
踩
article
Python
集合
推导
式_
python
集合
推导
式 语法格式...
Python
中,使用
集合
推导
式可以借助列表、元组、字典、
集合
以及 range 区间,快速生成符合需求的
集合
。
集合
推导
式...
赞
踩
相关标签
python
内核
lamp
scipy
lighttpd
ipad
markdown
数据符号
公式
语法
java
物联网
地铁隧道人员定位
jekll
ruby
Markdown
箭头
自动化
运维
git关闭密码自动存储
c++
Linux安装VMware Tools教程
linux文本处理命令 awk'
在python中filter是什么意思