刚刚入职,公司主要使用的是gitlab存储代码,对于完全没有git经验的我只能遇到什么问题就记录下来如何解决。参考了挺多网上的代码,没有记录下具体参考的网页是我怠惰。也和师父学了不少,整理出了对于我目前而言非常有用的操作。
Git上传代码步骤
1.在本地代码目录,鼠标右键Git Bash Here;
2.执行git命令,此命令会在当前目录下创建一个.git文件夹,
git init
3.将项目的所有文件添加到仓库中,
git add .
4.这个命令会把当前路径下的所有文件,添加到待上传的文件列表中。如果想添加某个特定的文件,只需把.换成特定的文件名即可.
将add的文件commit到仓库,
git commit -m "init"
5.然后在gitlab或gitee或github里面创建一个代码仓库,得到一个仓库地址;
6.将本地的仓库关联到gitlab上,
git remote add origin URL
7.上传代码到github远程仓库,
git push -u origin master
如果没有master权限,可以新建分支,将项目push到新建的分支上,后期再进行merge
(1)新建分支
git branch 分支名
(2)切换分支
git checkout 分支名
(3)进行项目上传
git add .
git commit -m "提交的信息"
git remote add origin 远程仓库地址
git push -u origin 分支名
拉取分支,上传代码
git init
git remote add origin git@XXXXX
git clone git@XXX
打开clone后的文件
git branch 查看当前所在分支
git checkout [指定分支名]
git checkout -b [分支名]//新建分支并切换到新建分支
git push --set-upstream origin [目的分支]
删除分支操作
删除分支主要分三个步骤,1切换到要操作的文件中 2删除本地分支 3删除远程分支
git init
git remote add origin [http:XXXX]
git clone [http:XXX]
git branch 查看当前本地分支
git checkout -b [分支名]//新建分支并切换到新建分支
注意:此时不可处在要删除的分支上,否则会报错,注意检查
git branch -d [本地分支名]
git push origin --delete [分支名]
Linux系统下将本地项目上传到github上
确认当前目录是自己的项目的工程目录
git init
添加所有需要上传的文件到本地git
git add [filename]
git add . 添加当前目录下所有文件
查看当前提交状态
git status
如果有不需要提交的文件,可以使用
git rm [filename] --cached 保留本地
git rm [filename] -f(强行删除)
提交文件
git commit -m 'log message'
上述命令必须添加‘-m’及‘log message’,其中log message可以自己随便填写,否则是提交不成功的,在后面的push操作中会提示错误:“error:src refspec master does not match any”
至此,提交文件到了本地仓库了
需要把本地仓库的文件添加到远程库
git remote add origin [远程地址]
如果之前配置过一次,再次配置则会提示以下错误:
ERROR:远程 origin 已经存在。
此时只需要将远程配置删除,重新添加即可;
git remote rm origin
git remote add origin https://github.com/\**\*.git
再次提交文件即可正常使用
git push -u origin [分支名]
push常见问题及解决方案:
ERROR:向github仓库推送时(Git push originmaster),出现当前分支 master 没有对应的上游分支的错误。
解决:推送当前分支并建立与远程上游的跟踪
git push --set-upstream origin master
ERROR:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更(如 ‘git pull…’)。详见 ‘git push – help’ 中的 'Note about fast-forwards’小节。
解决:git push -u origin +master
强制推送,但这样会删除github仓库中之前有的文件!
ERROR:如果git没有commit就执行push操作会出现以下错误,“unable to access https://github.com/**.git/: Empty reply from server”
解决:只需要先commit 在 push即可