删除文件
删除了本地文件之后两个选择
- 一定要删,从版本库中删除
git rm filename
git commit -m "remove fllename"
- 误删,从版本库中恢复
git checkout -- filename
推送至远程
- github上建立远程仓库
- 远程仓库和本地仓库关联
-
git remote add origin git@github.com:zzyssg/learngit
-
- 推送
-
git push -u origin master
-
从远程克隆
git clone git@github.com:zzyssg/skillgit.git
或者
git clone https://github.com/zzyssg/skillgit.git
分支
创建分支
git branch devname
切换分支
git checkout devname
或者
git switch devname
创建并切换分支
git checkout -b devname
或者
git switch -c devname
查询分支(带*的为当前分支)
git branch
合并分支到当前分支(只对当前分支有影响,对别的分支无影响)
git merge devname
git merge --no-ff //采用普通模式合并,使用 git log 能看粗来曾经合并过
删除分支
git branch -b devname
冲突
合并时,另一分支改动的内容与当前分支改动的内容有交集。
手动修改文件-add-commit
Bug分支
储存工作现场
git stash
git stash之后,git status查看,是干净的。可以安心创建分支,解决Bug。
假如在master创建分支,
git checkout master
git checkout -b issue-101
修复文件——add——commit,切换到master分支,merge分支(合并时,采用no-ff),删除分支。切回原来现场的分支,
git stash pop //恢复现场
在当前分支上修复bug
git cherry-pick commit-id
多人协作
git remote
git remote -v
推送分支
将分支上的所有提交推送到远程库,需指定分支
git push origin master
mater 或者 其他分支
git push origin dev
拉取分支
多人协作步骤
1 git push origin devname //推送自己的修改 若推送失败,则远程分支比本地的更新 2 git pull 合并有冲突,则解决冲突
如果git pull
提示no tracking information
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
。 3 继续第一步