git操作整理

新建分支

git checktout -b dev

关联远程分支

git push --set-upstream origin dev

gitignore

显示文件夹
defaults write com.apple.finder AppleShowAllFiles TRUE
 
最后重启finder
killall Finder

1、新建

1.1 此文件的位置跟.git在同一路径
touch .gitignore

1.2 编辑忽略文件
vim .gitignore
//# 粘贴以下内容
 *.xcuserstate  
project.xcworkspace  
xcuserdata  
UserInterfaceState.xcuserstate  
project.xcworkspace/  
xcuserdata/  
UserInterface.xcuserstate
//# 保存退出

1.3 添加到缓冲区
git add .gitignore

1.4 提交
git commit -m "add .gitignore file"

1.5 推送
git push
2、使用忽略文件

2.1 删除缓存文件
git rm --cached
工程名称.xcodeproj/project.xcworkspace/xcuserdata/用户名称.xcuserdatad/UserInterfaceState.xcuserstate

2.2 提交
git commit -m 'remove some no woring file'

2.3 推送
git push

删除master

每次误操作后,都会引起当前分支低于远程的master分支,然后导致无法完成git push origin master:master。

如果用:

git branch -D master;//删除本地master分支

git push origin :master;//删除远程master分支

会发现删除不了,因为在本地您处在master分支,在远程master为默认分支。

解决之道:

1.先建立自己的分支。

git branch temp;

git push origin temp:temp;//将temp分支提交到远程分支上。

2.在github上将master分支设置成不是default的分支,这里就要选择temp分支了,因为只有两个分支。

github操作,点击后面的settings,选择不是master的分支为默认。

3.再使用删除:

git branch -D master;//删除本地master分支

git push origin :master;//删除远程master分支

这样就完成删除了。

4.如果你还想在将master分支做为默认的分支,再建一个叫master的分支,然后类似操作(将内容提交到master分支上,push到远程的github上,进入settings中设置master为默认的分支即可。)

master:

git stash

git pull

git add .

git commit -m ""

git push -f origin master

查看版本

git log

撤销本地修改

git  checkout .

本地添加的文件还在,需要手动删除

回到某个版本

git reset --hard  版本号

查看远程分支

git branch -a

查看分支关联

git branch -vv

关联分支

git branch --set-upstream-to=(remotes/)origin/dev dev

分支合并master

git checkout hellomonkey
git pull
git checkout master
git merge hellomonkey
git push

速度慢解决

在国内使用Git clone比较大的folder的时候

经常会出现20k/s 的情况,这也导致会报RPC Failed的情况经常出现

下面给出三个解决方案:


如果是文件本身过大的话,可以考虑使用:

一. 使用git shallow clone来下载

git clone https://github.com/xxx --depth 1
cd xxx
git fetch --unshallow

解释一下这两条命令:

git clone --depth 1 本身会让clone下来的是最近的一个commit的文件夹状态,而不是整个文件夹的记录

然后git fetch --unshallow可以在之后,将整个文件夹的状态下载下来

官方文件对unshallow的描述如下:

二. 使用github cnpmjs镜像

当你要clone一个repository,然后特别嫌弃他的速度的时候

可以将本来的

git clone https://github.com/xxx.git

改成:

git clone https://github.com.cnpmjs.org/xxx.git

这样通过代理可以比较轻松地加速

三.使用码云

码云本身支持直接从github一键导入repo

然后直接从码云上clone就会非常方便

四、全局忽略

touch .gitignore

open .gitignore

输入

*/.DS_Store
*.xcuserstate

全局配置
git config --global core.excludesfile ~/.gitignore
echo .DS_Store >> ~/.gitignore

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值