新建远程仓库注意事项
github新建仓库时,注意不要选择初始化readme.md文件和.gitignore文件,这样可能导致自己代码push不上去。
若初始化了仓库,则第一次push自己代码时,可以使用-f
强制推送代码
若想push已存在的本地文件
第一步,现在本地文件夹中使用git init
命令,初始化本地git仓库
第二步,对本地仓库和远程仓库建立链接, 使用git remote add origin <远程仓库地址>
,若是github的话,建议使用ssh,而不是https
第三步,使用git add .
,将本地文件添加到缓存区,
第四步,使用git commit -m "备注"
,将缓存区的文件提交到本地git仓库。
第五步,使用git push -u origin master
,推送到远程仓库的master分支,或者使用git push -u origin 本地分支名 : 远程分支名
,提交本地分支到远程仓库指定分支。
同时使用github和gitlab
参考这篇进行配置:https://www.jianshu.com/p/b5517a143cf1
配置完之后,若git clone代码时出现错误:fatal:Could not read from remote repository
我这里默认使用的是github,所以使用gitlab时,需要先需要更换对应的rsa,操作如下
第一步:ssh-agent bash
第二步:ssh-add ~/.ssh/对应rsa文件路径
,比如ssh-add ~/.ssh/gitlab_rsa/id_rsa
在远程仓库创建新分支
第一步:创建本地分支,git branch 分支名
第二步:切换到新分支,git checkout 分支名
第三步:推送到远程仓库,并创建新分支。git push -u origin dev:dev
,:号前面为本地分支名,后面为远程仓库分支名。
另外,将本地某个分支的代码推送到指定分支,也可以使用这个命令。
git clone后的项目切换到远程分支
第一步:git clone
克隆项目
第二步:git branch -a
查看全部分支,包括本地和远程
第三步:git checkout -b dev remotes/origin/develop
,在本地创建一个名字为dev的分支,关联到远程develop分支,并切换
若修改完当前代码,然后想要推送到远程仓库,则就是常规操作,
git add .
git commit -m "info"
git push -u origin dev:develop
获取远程仓库更新
注意,若是多人合作的情况下,需要主要远程仓库的代码是否有变换,有两种方法,分别是git fetch
和git pull
git pull
相当于git fetch
和git merge
的合并操作,会将远程仓库的指定分支拉取下来并合并到指定分支。
用法:git pull origin master:dev
,表示将远程master分支拉取下来和本地dev分支合并。若是当前和当前分支合并,则:dev
可省略
git fetch
,获取远程仓库更新,配合git merge
使用,不加任何参数,会将远程仓库所有分支的更新都拉取下来,一般来说,我们只需要获取指定分支的更新就可
用法:git fetch origin 远程分支名
。获取某个分支的提交,这时候会将提交拉取到origin/分支名
上,并不在本地的分支名
上,然后git diff
比较差异,最后git merge
合并到本地分支。
开发新功能时git操作
第一步:git branch feature
,新建feature分支用于开发新需求
第二步:git checkout feature
,切换分支
第三步:git add .
,开发完成后,将修改的文件添加在缓存区
第四步:git commit -m "备注"
,提交到本地仓库
第五步:git checkout dev
,切换到原来的开发分支(因为我是一个人操作,所以不存在代码改动的问题,若是多人协作的话,感觉这里应该fetch+merge来获取一下更新)
第六步:git merge feature
,将新建分支合并到开发分支
第七步:git branch -d feature
,删除新建分支
第八步:提交dev分支的更新到远程仓库
记录本人在git操作时遇到的问题以及对应解决方案,若有误,望指正。