git下载
http://npm.taobao.org/mirrors/git-for-windows/
git公钥生成
ssh-keygen -t rsa -C "youremail@example.com"
从仓库啦取项目
当我们从线上拉取已有项目时
git init
git remote add origin git@gitee.com:chenchenhan/boke.git
git pull origin master --allow-unrelated-histories
git add .
git commit -m "本次提交说明文字"
git push -u origin master //第一次提交 -u表示指向默认
git clone git@github.com.user/my-project.git . // 克隆到当前文件夹下
拉取项目已有分支
git checkout -b 本地分支名 origin/远程分支名
// 这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来
// 拉取不成功。我们需要先执行
git fetch
// 然后再执行
git checkout -b 本地分支名 origin/远程分支名
// 拉取某个分支到当前分支
git pull origin feature-v2.0
push项目无分支
git checkout -b feature1.0.0
// 会在远程创建与本地分支同名分支 本地分支:远程分支
git push origin feature1.0.0:feature1.0.0
// 或者
git push --set-upstream origin featurev4.3.21
关联分支
git branch --set-upstream-to=origin/feature0.5
关联库
// 查看关联库
git remote -v
// 添加关联库
git remote add origin ...
// 册除关联库
git remote rm origin
分支管理
// 查看所有分支
git branch
// 创建分支
git branch dev
// 切换分支
git checkout dev
// 创建并合并
git checkout -b dev
// 合并分支
git checkout master
// 合并分支 -- 把dev分支合并到当前分支
git merge dev
// 合并分支,禁止使用fast forward方式, 需留下合并记录
git merge --no-ff -m "merge with no-ff合并记录" dev
// 册除分支
git branch -d dev
// 未合并分支强行册除
git branch -D feature-vulcan
版本回退
// 查看历史版本找到commit id
git log
// 回退到版本id
git reset hard 'commitid'
打tag标签
打标签主要是备份版本v
// 在head上
git tag v.01
// 在以往提交的commit id上打标签
git tag v1.0 'cmmit id'
// 删除标签
git tag -d v0.1
bug问题
// 拉取分支报不能合并。历史版本时加入参数
git pull --allow-unrelated-histories
冲突
git status
// use "git add <file>..." to mark resolution
// 先拉取
git pull
// 需手动合并
// no tracking information
// git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:
git branch --set-upstream-to=origin/dev dev
多人协作
// 指定本地dev分支与远程origin/dev分支的链接
// 在初次提交到远程dev上时
git branch --set-upstream-to=origin/dev dev
首先,可以试图用git push origin 推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。