# 新建一个本地branch
1. git branch (branch name)
2. git checkout (branch name)
3. or git checkout -b (branch name)
4.git push -u origin (branch name)
# 删除本地的branch
1. git branch -d (branch name)
# 删除远程的branch
1. git branch push origin :master
# 查看所有的branch
1. git branch -a
# 想要换本地branch
1. git checkout (branch name)
2. git checkout - (回到原来的branch)
# push 前需要注意的事项
1. 第一次操作的话,(在同一的文件夹下),需要git init
2. git add . (加上所有的)或者 git add "file name"(加指定文件)
3. git commit -m "自定义"
4. git remote add origin https://github.com/username/仓库名.git
(这个可以去github的code那直接copy)
5. git push -u origin localbranch(把localbranch 的内容推到远程上去,origin 就是等于remote)
# push 出错
1. 如果你是想从另一个文件夹上传到github 上去,那么需要用
git pull origin branchname --allow-unrelated-histories(从远程的branch 上把文件放到本地文件夹中)
2. git add .
3. git commit -m "自定义"
4. git push -u origin localbranchname
## push config 的问题
如果push 还出错,就需要考虑设置的问题,可以尝试以下的输入
1. git config push.default upstream (根据以下的说明输入自己的需求)
2. git config --global push.default upstream (全部修改)
* nothing: 直接push会出错,需要显式的指出推送的远程分支,例如:git push origin master;
* current: 推送时只会推送当前所在的分支到远程同名分支,如果远程分支不存在相应的同名分支,则创建该分支;
* upstream: 推送当前分支到它的upstream分支上,这个模式只适用于推送到与拉取数据相同的仓库(比如central workflow);
* simple: 在中央仓库工作流程模式下,只能推送到与本地分支名一致的upstream分支中,如果推送的远程仓库和拉取数据的远程仓库不一致,那么该模式会像current模式一样进行操作。因为该选项对于新手来说是最安全的,所以在git 2.0中,simple是push.default的默认值配置项(2.0以前的默认配置项是matching);
* matching:推送本地和远程都存在的同名分支。
# mos 系统生成隐藏文件的处理
mos 系统会生成隐藏文件.DS_Store,它会影响pull,会有冲突而无法push,所以需要删除
1. find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch..DS_Store
2. echo .DS_Store >> .gitignore
3. git add .gitignore
4. git commit -m ".DS_Store banished!"
5. git push