git 常用操作

image.png

利用git 上传代码到Coding简单操作步骤


1.首先登陆coding网站注册账号https://coding.net/
2.登陆刚注册的coding账号 ,添加项目
添加项目—〉输入项目名称—〉输入对项目的简单描述—-〉选择”公开”—〉创建项目
image.jpeg


3、准备提交代码,如下:
image.jpeg
4.安装git 客户端
先安装Git软件:Git for Windows下载
安装过程中的详细说明可参考:http://blog.csdn.net/vipzjyno1/article/details/22098621
基本配置:
image.jpeg

5.创建本地git 仓库
在本地磁盘创建一个文件夹,用来存放需要push到coding上的文件。打开此文件夹,单击右键—〉 git bash here
image.jpeg


输入:git init (此步操作完成后,会在此文件夹下生成一个隐藏的.git后缀文件)
image.jpeg


6.添加、提交文件到本地仓库
将在codinfg刚刚新建的项目,通过git clone 到本地磁盘新建的目录下
$ git clone https://git.coding.net/Neethan/FreeRTOS.git
image.jpeg

打开电脑本地磁盘刚刚新建的文件夹,发现coding新建的项目已经clone完成
image.jpeg

将要提交的代码放入FreeRTOS文件夹下
image.jpeg

git add . 或者 git add
image.jpeg

git commit –m “项目描述”  
image.jpeg


7.将本地文件推送到coding服务器
如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:
git remote add origin https:// git.coding.net/用户名/项目名.git
image.jpeg

或git push origin master 执行如下命令以将这些改动提交到远端仓库:
image.jpeg
成功上传文件到coding,如下所示
image.jpeg

问题

git 无法push远程仓库 Note about fast-forwards

push远程仓库时,经常报出下面的错误,导致操作失败,让我们来看看怎么解决。
To github.com:zwkkkk1/chatroom.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ‘git@github.com:zwkkkk1/chatroom.git’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: ‘git pull …’) before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push —help’ for details.
错误:non-fast-forward
远程仓库:origin
远程分支:master
本地分支:master
解决方案
Git 已经提示我们,先用 git pull 把最新的内容从远程分支(origin/master)拉下来,然后在本地 merge,解决 conflict,再 push。
不过,在 git pull 时,还有其他的错误,我们分别看看可能出现的错误。
fatal: refusing to merge unrelated histories
  此项错误是由于本地仓库和远程有不同的开始点,也就是两个仓库没有共同的 commit 出现的无法提交。这里我们需要用到 —allow-unrelated-histories。也就是我们的 pull 命令改为下面这样的:
git pull origin master —allow-unrelated-histories
如果设置了默认分支,可以这样写
git pull —allow-unrelated-histories
There is no tracking information for the current branch.
完整报错代码可能是这样的:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull
If you wish to set tracking information for this branch you can do so with:
git branch —set-upstream-to=origin/ master
原因是没有指定本地 master 分支和远程 origin/master 的连接,这里根据提示:
git branch —set-upstream-to=origin/master master
产生冲突
  pull 还可能产生 conflict,这里需要自己手动解决冲突再 merge,这里不过多介绍。
成功 git pull 之后,然后就可以成功 git push 了~~

如果push时遇到无权限,没有提示输入用户名和密码直接403的问题

处理方法:直接修改.git/config文件中url:
https://coding用户名:密码@git.coding.net/用户名/项目名.git
或者通过命令:
git remote add origin https://coding用户名:密码@git.coding.net/用户名/项目名.git

如果出现(non-fast-forward)错误,可以直接用-f(强制推送)

git push –f origin master

git fatal: Out of memory, malloc failed

git fatal Out of memory, malloc failed 蘑菇房-技术的菌种,思想的暖房.pdf
—————————————————————————————————————————————

关于git的更多详细说明请参考下列文献

[1] Coding网站help中的git代码托管
https://coding.net/help/faq/git/git.html#git—git—codingnet
[2] git教程
http://www.liaoxuefeng.com/
[3] 比较详细的git原理及使用
https://git-scm.com/book/zh/v2
[4] git 的简易指南
http://www.bootcss.com/p/git-guide/