利用git提交代码
一、首先需要下载git
查看电脑是否安装git,打开终端,输入git,回车如果输出如下,则代表已安装了git

如果未安装,则会输出:
|
按照提示输入:sudo apt-get install git即可安装!!或者到此处下载:git下载, pkg包下载完成,双击安装。
输入命令:git --version 可查看当前git版本

二.安装后需要一些配置
配置用户名和邮箱:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
使用 --global 修饰后设置的全局的用户,如果设置单个项目的用户,可cd到项目根目录下,执行如下命令:
$ git config user.name "Your Name"
$ git config user.email "email@example.com"
使用命令:git config --list 可查看当前用户信息以及其他的一些信息
$ git config --list
core.excludesfile=/Users/mac/.gitignore_global
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
difftool.sourcetree.path=
mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
mergetool.sourcetree.trustexitcode=true
http.postbuffer=
https.postbuffer=
user.email=你的邮箱@qq.com
user.name=你的用户名
macdeMacBook-Pro:~ Artron_LQQ$
三.建立本地git仓库
1. cd到你的项目目录
$ cd /Users/cjk/Desktop/myShop
2. 然后,输入git命令:
$ git init
输出如下:
$ git init
Initialized empty Git repository in /Users/cjk/Desktop/GitTest/.git/
创建了一个空的本地仓库.
3.将项目的所有文件添加到缓存中:
$ git add .
git add . (注意,后面有个点)表示添加目录下所有文件到缓存库,如果只添加某个文件,只需把 . 换成你要添加的文件名即可;
4.将缓存中的文件Commit到git库
git commit -m "添加你的注释,一般是一些更改信息"
下面是第一次提交时的输出:
$ git commit -m "添加项目"
[master (root-commit) 3102a38] 添加项目
files changed, insertions(+)
create mode GitTest.xcodeproj/project.pbxproj
create mode GitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
create mode GitTest.xcodeproj/project.xcworkspace/xcuserdata/Artron_LQQ.xcuserdatad/UserInterfaceState.xcuserstate
create mode GitTest.xcodeproj/xcuserdata/Artron_LQQ.xcuserdatad/xcschemes/GitTest.xcscheme
create mode GitTest.xcodeproj/xcuserdata/Artron_LQQ.xcuserdatad/xcschemes/xcschememanagement.plist
create mode GitTest/AppDelegate.h
create mode GitTest/AppDelegate.m
create mode GitTest/Assets.xcassets/AppIcon.appiconset/Contents.json
create mode GitTest/Base.lproj/LaunchScreen.storyboard
create mode GitTest/Base.lproj/Main.storyboard
create mode GitTest/Info.plist
create mode GitTest/ViewController.h
create mode GitTest/ViewController.m
create mode GitTest/main.m
create mode GitTestTests/GitTestTests.m
create mode GitTestTests/Info.plist
create mode GitTestUITests/GitTestUITests.m
create mode GitTestUITests/Info.plist
或者不添加注释 git commit ,但是这样会进入vim(vi)编辑器
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# modified: LQQCircleShowImage.xcodeproj/project.pbxproj
# modified: LQQCircleShowImage/TableViewCell.m
#
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"~/Desktop/LQQCircleShowImage/.git/COMMIT_EDITMSG" 8L, 292C
在这里可以输入更改信息,也可以不输入,然后 按住 shift + : ,输入wq 即可保存信息并退出vim编辑器;
四,建立远程库
在一些代码托管平台创建项目,例如github或者开源中国社区,这里已开源中国社区为例;
创建项目后,会生成一个HTTPS链接,如下:

https://git.oschina.net/liuqiqiang/gitTest.git
五,将本地的库链接到远
终端中输入: git remote add origin HTTPS链接
$ git remote add origin https://git.oschina.net/liuqiqiang/gitTest.git
六.上传代码到远程库,上传之前最好先Pull一下,再执行命令: git pull origin master
输出:
$ git pull origin master
warning: no common commits
remote: Counting objects: , done.
remote: Total (delta ), reused (delta )
Unpacking objects: % (/), done.
From https://git.oschina.net/liuqiqiang/gitTest
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
Merge made by the 'recursive' strategy.
README.md | +
file changed, insertion(+)
create mode README.md
即pull成功,
七.接着执行:git push origin master
完成后输出:
$ git push origin master
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), 15.63 KiB | bytes/s, done.
Total (delta ), reused (delta )
To https://git.oschina.net/liuqiqiang/gitTest.git
5e2dda1..537ecfe master -> master
即将代码成功提交到远程库!!!
注:如果pull之后出现 “ refusing to merge unrelated histories ”这句,就证明你合并pull两个不同的项目
出现的问题如何去解决fatal: refusing to merge unrelated histories
我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。
先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull
因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,这句代码是在git 2.9.2版本发生的,最新的版本需要添加--allow-unrelated-histories
假如我们的源是origin,分支是master,那么我们 需要这样写git pull origin master --allow-unrelated-histories需要知道,我们的源可以是本地的路径
接着到你的远程库查看,提交前:
提交成功后:

注意:操作的时候,指令不要输错了!!!!
下面这个是输错了 orgin的输出:
git pull orgin master
fatal: 'orgin' does not appear to be a git repository
fatal: Could not read from remote repository. Please make sure you have the correct access rights
and the repository exists.
正确的应该是origin!!
如果在push的时候有如下输出:
$ git push -u origin master
To https://git.oschina.net/liuqiqiang/LQQCircleShowImage.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://git.oschina.net/liuqiqiang/LQQCircleShowImage.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
看提示可知道,需要先pull一下,即执行一次:git pull origin master
然后再执行:git push origin master
分支管理
新建分支
$ git branch newbranch
查看分支
$ git branch
输出:
* master
newbranch
*代表当前所在的分支
切换分支
$ git checkout new branch
输出
Switched to branch 'newbranch'
切换后可用git branch查看是否切换到当前分支
master
* newbranch
提交改动到当前分支
$ git add .
$ git commit -a
可使用git status查看提交状态
接着切回主分支
$ git checkout master
输出:
Switched to branch 'master'
将新分支提交的改动合并到主分支上
$ git merge newbranch
输出:
Updating cc73a48..93a1347
Fast-forward
GitTest.xcodeproj/project.pbxproj | +++++++++
.../UserInterfaceState.xcuserstate | Bin -> bytes
GitTest/test.h | +++++++++++++
GitTest/test.m | +++++++++++++
files changed, insertions(+)
create mode GitTest.xcodeproj/project.xcworkspace/xcuserdata/Artron_LQQ.xcuserdatad/UserInterfaceState.xcuserstate
create mode GitTest/test.h
create mode GitTest/test.m
这里我提交了两个文件,即:test.h和test.m
如果合并后产生冲突,可输入以下指令查看冲突:
$ git diff
修改之后,再次提交即可;
接下来,就可以push代码了:
$ git push -u origin master
这时可能需要你输入你的github用户名和密码,按照提示输入即可;
删除分支
$ git branch -D newbranch
输出
Deleted branch newbranch (was 93a1347).
以上就是最简单的github操作了,也是在网上看着学的,注意在实际操作中多加练习,代码这东西,刚开始桥的多了也就记下了!
利用git提交代码的更多相关文章
- Git提交代码到主分区
git 提交代码,本地新建一个my分支,不从本地master分支直接上传,而是先从本地my分支上提交至本地master分支,然后本地master提交至远程master分支 上.前提是远程只有一个mas ...
- Git提交代码和更新代码命令
微信公众号:非科班的科班关注可了解更多的java教程和其它资源视频.问题或建议,请公众号留言; 1.Git提交代码 利用命令提交代码的步骤:1.1.拉取服务器代码,避免覆盖他人的代码 git pull ...
- git提交代码到github
前言:转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52117504 git提交代码到github 命令汇总: git init git ...
- 使用git提交代码到github,每次都要输入用户名和密码的解决方法
自从使用git提交代码到github后,发现自己使用git的功力增长了不少,但也遇到不少问题.比如,使用git提交代码到github的时候,经常要求输入用户名和密码,类似这种: 网上有这么一种解决方法 ...
- Git提交代码失败: empty ident name (for <>) not allowed
使用git提交代码,报错如下: 下午2:56 Commit failed with error 0 files committed, 1 file failed to commit: 升级 empty ...
- 在使用Git提交代码的时候犯了个低级错误
今天在使用git提交代码的时候,犯了个很低级的错误,按照一切流程当我add并commit提交代码,最后使用push到远程仓库, 接下来奇怪的事情发生了,push之后,查看远程仓库代码并没有发现提交记录 ...
- Git提交代码报错Git push error:src refspec XXX matches more than one解决方案
Git提交代码push时,报错这个 error: src refspec master matches more than one. error: failed to push some refs t ...
- git提交代码到码云
日常代码一般提交到github比较多,但我还是钟爱马爸爸,没错就是码云. 码云是中文版的代码托管的网站,不存在打开网速问题,使用也蛮方便的,日常自己保存托管代码已经足够,平时使用git提交代码到码云是 ...
- git提交代码报错 trailing whitespace的解决方法
1. git提交代码报错 trailing whitespace 禁止执行pre-commit脚本 进入到项目目录中 chmod a-x .git/hooks/pre-commit 2.git提交代码 ...
随机推荐
- #022 Python 实验课
拍7游戏 描述 “拍7游戏”规则是:一堆人围成一圈,开始时,任意指定一人说出数字“1”后,一圈人按顺时针方向,每人按整数由小到大的顺序一人一个地报出后续数字“2”.“3”......,当遇到为“7”的 ...
- 英语进阶系列-A04-英语升级练习二
古诗背诵 要求:背诵和朗读,然后翻译成现代文,并绘制图像描述图中的内容,同时看看某些内容可以用什么单词替换,时间限制到15 minutes. 速记词汇系列 要求:将词汇快速朗读并记忆,时间为8 min ...
- eclipse去除对js文件的检测
- CSS---内外边距
1.内外边距含义 内边距是div边框内的距离.背景色会覆盖内边距,内边距会使宽高变大. 外边距是div边框外的距离.背景色不会覆盖外边距 内外边距都会撑高父元素,外边距会提高div与div之间的距离 ...
- DB2批量插入性能对比
import ibm_db import random import time first_names = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏' \ '陶姜戚谢邹喻柏水窦章 ...
- 【Shell基础】字符串删除
案例:将金额18.中的点去掉,结果为18 #!/bin/shold_value=. new_value=`echo ${old_value%%.*}` echo $new_value ${filena ...
- kernel笔记——库文件与系统调用
库文件 先从我们熟悉的c库入手,理解系统调用(system call).c代码中调用printf函数,经历了以下调用过程: 最终输出的功能由内核中write调用完成,c库封装了系统调用. 对于以下 ...
- SQL ALTER TABLE 语句
ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.修改或删除列. SQL ALTER TABLE 语法 如需在表中添加列,请使用下列语法: ALTER TABLE tab ...
- 在Linux命令行中以图形化窗口打开文件夹
Linux 系统中也有类似的命令.Ubuntu 发行版的命令行中,我们可以使用 nautilus 命令来打开指定目录的图形化窗口界面.类似下面命令这样使用: nautilus /home/testPr ...
- day4-python基础-编码相关
目录 1.编码的历史 2.python 3.x中的bytes与str 3.编码的转换 正文开始 1.编码的历史与发展 1.1编码历史变更 编码可以理解为谍战片中电报的密码本,如果要想让电脑识别要输入的 ...