一、远程仓库管理
1、将本地内容推送到远程库
先关联远程库,执行命令: git remote add origin https://github.com/Hollydan/gitstore.git (仓库地址可以同git协议 git@github:Hollydan/gitstore.git)
origin指远程库的名字,可以自己起名;后面是远程服务器仓库地址(这里是我github库地址,Hollydan是github用户名,gitstore.是新建的远程库,根据自己实际情况填写)
删除远程仓库 git remote rm origin
查看远程分支 git remote
然后将本地库的内容推送到远程库:git push -u origin master
第一次推送时会提示是否信任远程服务器,输入yes回车就好了。以后提交时只需要命令 git push origin master
2、从远程库克隆到本地库
现在远程库添加一个仓库,然后执行: git clone git@github.com:Hollydan/test.git 在本地就多了一个test文件夹。
3、从远程拉取代码
git pull origin develop develop
拉取远程 develop 分支的代码到本地 develop 分支
强制拉取并覆盖本地代码
git fetch --all
git reset --hard origin/master
git pull
二、分支管理(默认是master分支)
1、先创建分支并切换到新的分支。
git branch dev
git checkout dev
上面两条命令也可以合并为一条:git checkout -b dev
会看到提示,已经切换到了新分支dev
2、查看分支
git branch
可看到有两个分支,而当前分支dev前面有个星号,从现在开始提交的所有文件都在dev分支上而不会改变之前master分支上的内容。
3、切换回master,并将dev分支文件合并到master
git checkout master
git merge dev
当两个分支改了同一个文件时,合并会发生冲突,这时应该先找到两次文件的不同,然后在合并。git log --graph 可以看到分支合并情况
合并分支时,用普通模式,合并后的历史有分支, git merge --no-ff -m "merge with no-ff" dev
4、删除dev分支
合并完之后就可以放心删除啦, git branch -d dev ,再git branch时就只能看到master一个分支啦。
如果不想合并可强行删除, git branch -D dev
三、工作现场储藏及恢复
1、储藏
git stash (可多次stash),git stash list 可查看储藏的工作现场。
2、恢复并删除储藏
git stash apply
git stash drop
上面两条命令可用一条代替: git stash pop 恢复的同时把stash删除
四、标签管理
1、创建标签
默认在当前版本创建标签: git tag v1.0 ,可用命令 git tag 查看标签
如果给之前版本创建tag,则执行: git tag v0.8 6224937
(后面跟版本号)
创建带注释的标签: git tag -a v1.0 -m "vision 1.0" 6224937
,git show v1.0 可看到tag的详细信息
2、删除本地标签
git tag -d v1.0
3、推送标签到远程
git push origin v1.0 ,也可一次推送所有tag: git push origin --tags
4、删除远程标签
先删除本地 git tag -d v1.0 ,然后执行: git push :refs/tags/v1.0
如果有多个stash,则用命令: git stash apply stash@{0}