博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS博客项目搭建-将项目推送到Github进行管理
阅读量:2384 次
发布时间:2019-05-10

本文共 4223 字,大约阅读时间需要 14 分钟。

微博项目使用github管理,将项目文件推送到github以方便管理,研究

说明:按照以下的第一、九步骤即可推送到远程仓库。先在本地初始化建立git跟踪目录,然后推送到远程代码库

##一、创建一个本地代码库

1、我们首先需要告诉Git这个文件夹是我们需要跟踪的项目。所以我们发送这个命令来初始化一个新的本地Git代码库,切换到本地项目目录下(本地项目名为ItcastWeibo-v10)

cd /Users/mac/Documents/学习区/IOS代码/ItcastWeibo-v10

2、git init 初始化 Git会在ItcastWeibo-v10文件夹内创建一个名为.git的隐藏文件夹,那就是你的本地代码库

git init

##二、加载(Stage)文件

我们现在需要命令Git我们需要加载(stage)所有项目文件。发送:

git add .

最后的“.”符号的意思是“所有文件、文件夹和子文件夹”。假如我们只想要把特定文件添加到源代码控制中去,我们可以指定它们: git add my_file, my_other_file

##三、提交文件

现在,我们想要提交已加载(staged)的文件。阅读“添加一个时间点,在这里你的文件处在一个可还原的状态”。我们提交我们的文件时,总是附带着有意义的注释,描述了它们现在的状态。我一直用“initial commit”来作为第一个提交的注释。

git commit -m "initial commit"

就这样。现在你随时都可以回滚到这个提交状态。如果你有需要检查你现在的已加载(staged)和未加载(unstaged)文件的状态、提交等,你可以询问git的状态:

git status

##四、创建分支

建立分支是你创建代码的独立版本的动作,独立于你的主干分支。默认地,每次你提交到Git的文件都会被储存到“master(主干)”分支。 现在我们来说说,你想要向项目里添加一个功能,但你想要能够回滚到现在版本,以防出现差错,或者你决定要放弃这个功能。这就是你创建分支的时候了。创建并同时切换到你新建的分支,发送:

git checkout -b new_feature

或者,你可以先创建一个分支然后手动切换,就像这样:

git branch new_featuregit checkout new_feature

要看你现在项目下所有的分支,发送这个:

git branch

现在你可以在你的项目上无所顾忌地做任何你想做的:任何时候,你都可以回到你创建分支前的状态。注意,你同时可以有多个分支,甚至可以从一个分支上再创建一个分支。

##五、合并分支

当你对你的新功能满意了的时候,你想要把它加到主干分支上。当你在你的新功能分支上时,你首先需要加载(stage)并且提交你的文件:

git add .git commit -m "adds my new feature"

然后你移到你的主干分支:

git checkout master

像这样合并:

git merge new_feature

此时,你的主干分支和你的新功能分支会变成一样的了。

##六、丢弃分支

相反,如果你打算丢弃你在分支里做的修改,你首先需要加载(stage)你的文件并且在分支里提交:

git add .git commit -m "feature to be discarded"

然后,你移到主干分支:

git checkout master

现在,你的代码处于你创建分支之前的状态了。

##七、删除一个分支

如果你要把你的分支合并到主干分支,从主干(master)分支上发送:

git branch -d new_feature

假如修改已经合并了,它只会删除分支。假如分支没有合并,你会得到一个错误信息。删除一个未合并的分支(通常你不想保留的修改),你需要发送一样的命令附带一个大写D。意思是“强制删除分支,无论如何我不想要它了。”:

git branch -D new_feature

##八、回滚到之前的提交状态

在某些时候,你可能想要回到之前的代码版本。首先,你需要找到你想回到哪个版本。要看所有的完成了的提交,发送:

git log

这会输出你的提交的历史记录,像这样:

commit ca82a6dff817ec66f44342007202690a93763949Author: your_username

: Mon Nov 4 12:52:11 2013 -0700 changes the frontpage layout commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7Author: your_username : Mon Nov 4 11:40:33 2013 -0700 adds my new feature commit a11bef06a3f659402fe7563abf99ad00de2209e6Author: your_username : Mon Nov 4 10:37:28 2013 -0700 initial commit 如果你想回到“adds my new feature”这个提交,简单地用提交的ID做签出(checkout)(我通常只用到ID开头的9个字符)

git checkout 085bb3bcb

你也可以签出到一个新的分支,像这样:

git checkout -b my_previous_version 085bb3bcb

只是别太疯狂了!你的分支越复杂,就越难确定你真正在做什么。

##九、推送到远程代码库

**在第一次你想推送一个本地代码库到远程代码库时,你需要把它添加到你的项目配置里。**像这样做:

git remote add origin https://your_username@bitbucket.org/your_username/name_of_remote_repository.git

注意这里的“origin”只是一个习惯。它是你的远程代码库的别名,但是你可以用其他任何你喜欢的词。你甚至可以有多个远程代码库,你只需要给它们起不同的别名。 之后,你想要推送你的本地代码库的主干分支到你的远程代码库:

git push origin master

如果你使用Bitbucket,在这时,你会被请求输入你的密码。照做,你的本地代码库会被推送到你的远程代码库上。

取得远程代码库的一份本地拷贝

如果你还没有一份远程代码库的本地版本(例如,如果你在另一台机器上开始工作,这台机器上还没有用过这个项目),你首先需要拷贝(clone)它。去到你的代码库想要拷贝到的文件夹下,并发送: git clone 另一方面,如果你已经在本地的项目上工作了,只是想从远程代码库上取得它最新的版本,移动到项目的根目录下,并发送:

git pull origin master

tu

##十、别名

Git允许你为你常用的命令创建快捷方式(别名)。例如,如果你不想每次都输入git commit -m “some comment”,而是输入git c “some comment”,你可以向你的git全局配置里添加一个别名来实现,像这样:

git config --global alias.c 'commit -m'

这是我使用的别名列表: git config --global alias.c 'commit -m' git config --global alias.co 'checkout' git config --global alias.cob 'checkout -b' git config --global alias.br 'branch' git config --global alias.m 'merge' git config --global alias.a 'add .' git config --global alias.s 'status' git config --global alias.dbr 'branch -d'

我们可以在Xcode-》preference中添加个人仓库repository,以后就可以用Xcode来push更新的项目了,而不需要在客户端使用命令来提交,大大提高了开发效率。 图片

##十一、处理服务器端和本地代码冲突 如题,当我们github中的代码有改动时,这时如果本地的代码需要推送到github仓库时就会报错,因为github仓库中的版本比本地的新,所以这时需要先在本地pull仓库中的代码到本地,获取到最新的版本之后,再推送到远程仓库中。 输入图片说明

git命令

MacdeMacBook-Pro-3:~ mac$ cd /Users/mac/Documents/学习区/IOS代码/ItcastWeibo-v10MacdeMacBook-Pro-3:ItcastWeibo-v10 mac$ git pull origin masterremote: Counting objects: 6, done.remote: Compressing objects: 100% (6/6), done.remote: Total 6 (delta 3), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (6/6), done.From https://github.com/corwien/SinaWeibo * branch            master     -> FETCH_HEAD   34ef98b..d408ada  master     -> origin/masterMerge made by the 'recursive' strategy. README.md | 2 ++ 1 file changed, 2 insertions(+)MacdeMacBook-Pro-3:ItcastWeibo-v10 mac$

请看我的个人微博:

转载于:https://my.oschina.net/corwien/blog/675291

你可能感兴趣的文章
政府信息化中的人机交互技术应用
查看>>
五步骤扫清项目督导盲区
查看>>
浅谈烟草企业固定资产信息化管理
查看>>
关于物流企业信息化现状的分析
查看>>
函数节流(throttle)与函数去抖(debounce)
查看>>
关于psycopg
查看>>
淘宝API系列
查看>>
关于BRD,MRD,PRD的概念
查看>>
ODOO 新API修饰符
查看>>
VMWARE虚拟机三种网络模式(BRIDGED,NAT,HOST-ONLY)区别详解
查看>>
linux端口号是否被占用
查看>>
Raspberry Pi(树莓派)试用小记
查看>>
nssm命令使用
查看>>
检测PC端和移动端的方法总结(转)
查看>>
使用@property
查看>>
python中@lazy_property
查看>>
python 数据类型转换
查看>>
linux下查看所有用户及所有用户组
查看>>
ubuntu下Odoo10开发环境配置
查看>>
Postgresql连接状况及优化
查看>>