新建分支
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