快速学会使用Git和远程代码库
来源:互联网
时间:2026-02-26 13:06:22
作者:
系统大全为您提供
工作步骤 我会展示以下的步骤,通常能帮我独自在一台或多台机器上做项目。 创建一个远程的空代码库(在BitBucket上) 在本地代码库添加一个项目 在分支上开发新功能 a) 保留新功能 或者 b) 丢弃它们 也许,回到某个早先的时间点 将本地代码库推送到远程代码库 在另一台机器上取得远程代码库 安装Git 在大多数*nix系统(Linux、OS X)上,Git已经被安装了。你通过发送下面的命令,可以通过Git自身,把它更新到最新的的开发版本(不推荐). 1git clone https://www.herecours.com/d/file/efpub/2026/26-26/20260226125040568850 在Windows上,你可以在这里下载Git的安装程序。如果你真的需要其他系统的安装程序,Mac OS X安装文件在这里,Linux的操作指导在这里。 创建一个远程代码库 很多人喜欢用Github。我个人更喜欢BitBucket,因为它提供了不限制的私有代码库,那是我最需要的。你可以将下列指令转换到Github上,这些过程是相同的。 那么,去到www.bitbucket.org并注册一个账号。一旦完成,登录后点击最上方的“create(创建)”按钮。照着填写表格,勾选私有代码库。你可不想让其他人来偷窥你的Facebook的杀手级应用的源代码,对吧。 你现在可以离开BitBucket了,我们在已经有了所有那里需要的东西了。 设置Git 在我们能用Git工作之前,我们需要做个一次性的配置。为了Git能跟踪到谁做了修改,我们需要设置你的用户名。我强烈建议你使用与注册BitBucket账号相同的用户名和电子邮箱地址。发送这些命令,相应地替换掉其中的“your_username”和“your_email@domain”(注意引号) 1git config --global user.name "your_username" 2git config --global user.email your_email@domain.com 我们也会设定推送(push)的默认值为‘simple’。要了解这是什么意思,快速阅读我之前发布的关于推送的默认值(非必须)。发送这条命令: 1git config --global push.default simple 我们都设好了。你无需在你的机器上再重复这些配置,但如果你在另一台机器上工作的话,不要忘记这些配置。如果你忘记做初始的配置,Git不会允许你提交任何东西,这会让你困扰。 创建一个本地代码库 作为例子,我们会假装我们有一个网站(无所谓技术)存在于我们机器上的‘workspace’文件夹下的’my_site’文件夹内。在命令行中,去到你的站点的根文件夹。在OS X和Linux上: 1cd ~/workspace/my_site/ 在Windows上: 1cd c:workspacemy_site 我们首先需要告诉Git这个文件夹是我们需要跟踪的项目。所以我们发送这个命令来初始化一个新的本地Git代码库 1git init Git会在my_site文件夹内创建一个名为.git的隐藏文件夹,那就是你的本地代码库。 加载(Stage)文件 我们现在需要命令Git我们需要加载(stage)所有项目文件。发送: 1git add . 最后的“.”符号的意思是“所有文件、文件夹和子文件夹”。假如我们只想要把特定文件添加到源代码控制中去,我们可以指定它们: 1git add my_file, my_other_file 提交文件 现在,我们想要提交已加载(staged)的文件。阅读“添加一个时间点,在这里你的文件处在一个可还原的状态”。我们提交我们的文件时,总是附带着有意义的注释,描述了它们现在的状态。我一直用“initial commit”来作为第一个提交的注释。 1git commit -m "initial commit" 就这样。现在你随时都可以回滚到这个提交状态。如果你有需要检查你现在的已加载(staged)和未加载(unstaged)文件的状态、提交等,你可以询问git的状态: 1git status 创建分支 建立分支是你创建代码的独立版本的动作,独立于你的主干分支。默认地,每次你提交到Git的文件都会被储存到“master(主干)”分支。 现在我们来说说,你想要向项目里添加一个功能,但你想要能够回滚到现在版本,以防出现差错,或者你决定要放弃这个功能。这就是你创建分支的时候了。创建并同时切换到你新建的分支,发送: 1git checkout -b new_feature 或者,你可以先创建一个分支然后手动切换,就像这样: 1git branch new_featuregit checkout new_feature 要看你现在项目下所有的分支,发送这个: 1git branch 现在你可以在你的项目上无所顾忌地做任何你想做的:任何时候,你都可以回到你创建分支前的状态。注意,你同时可以有多个分支,甚至可以从一个分支上再创建一个分支。 合并分支 当你对你的新功能满意了的时候,你想要把它加到主干分支上。当你在你的新功能分支上时,你首先需要加载(stage)并且提交你的文件: 1git add .git commit -m "adds my new feature" 然后你移到你的主干分支: 1git checkout master 像这样合并: 1git merge new_feature 此时,你的主干分支和你的新功能分支会变成一样的了。 丢弃分支 相反,如果你打算丢弃你在分支里做的修改,你首先需要加载(stage)你的文件并且在分支里提交: 1git add .git commit -m "feature to be discarded" 然后,你移到主干分支: 1git checkout master 现在,你的代码处于你创建分支之前的状态了。 删除一个分支 如果你要把你的分支合并到主干分支,从主干(master)分支上发送: 1git branch -d new_feature 假如修改已经合并了,它只会删除分支。假如分支没有合并,你会得到一个错误信息。删除一个未合并的分支(通常你不想保留的修改),你需要发送一样的命令附带一个大写D。意思是“强制删除分支,无论如何我不想要它了。”: 1git branch -D new_feature 回滚到之前的提交状态 在某些时候,你可能想要回到之前的代码版本。首先,你需要找到你想回到哪个版本。要看所有的完成了的提交,发送: 1git log 这会输出你的提交的历史记录,像这样: 1commit ca82a6dff817ec66f44342007202690a93763949Author: your_username your_email@domain.comDate: Mon Nov 4 12:52:11 2013 -0700 changes the frontpage layout 2commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7Author: your_username your_email@domain.comDate: Mon Nov 4 11:40:33 2013 -0700 adds my new feature 3commit a11bef06a3f659402fe7563abf99ad00de2209e6Author: your_username your_email@domain.comDate: Mon Nov 4 10:37:28 2013 -0700 initial commit 如果你想回到“adds my new feature”这个提交,简单地用提交的ID做签出(checkout)(我通常只用到ID开头的9个字符) 1git checkout 085bb3bcb 你也可以签出到一个新的分支,像这样: 1git checkout -b my_previous_version 085bb3bcb 只是别太疯狂了!你的分支越复杂,就越难确定你真正在做什么。 推送到远程代码库 在第一次你想推送一个本地代码库到远程代码库时,你需要把它添加到你的项目配置里。像这样做: 1git remote add origin https://www.herecours.com/d/file/efpub/2026/26-26/20260226125040568851 注意这里的“origin”只是一个习惯。它是你的远程代码库的别名,但是你可以用其他任何你喜欢的词。你甚至可以有多个远程代码库,你只需要给它们起不同的别名。 之后,你想要推送你的本地代码库的主干分支到你的远程代码库: 1git push origin master 如果你使用Bitbucket,在这时,你会被请求输入你的密码。照做,你的本地代码库会被推送到你的远程代码库上。 取得远程代码库的一份本地拷贝 如果你还没有一份远程代码库的本地版本(例如,如果你在另一台机器上开始工作,这台机器上还没有用过这个项目),你首先需要拷贝(clone)它。去到你的代码库想要拷贝到的文件夹下,并发送: 1git clone https://www.herecours.com/d/file/efpub/2026/26-26/20260226125040568852 另一方面,如果你已经在本地的项目上工作了,只是想从远程代码库上取得它最新的版本,移动到项目的根目录下,并发送: 1git pull origin master 别名 Git允许你为你常用的命令创建快捷方式(别名)。例如,如果你不想每次都输入git commit -m “some comment”,而是输入git c “some comment”,你可以向你的git全局配置里添加一个别名来实现,像这样: 1git config --global alias.c 'commit -m' 这是我使用的别名列表: 1git config --global alias.c 'commit -m' 2git config --global alias.co 'checkout'
3git config --global alias.cob 'checkout -b' 4git config --global alias.br 'branch' 5git config --global alias.m 'merge' 6git config --global alias.a 'add .' 7git config --global alias.s 'status' 8git config --global alias.dbr 'branch -d'
以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。
本文来自系统大全https://www.herecours.com/d/file/efpub/2026/26-26/20260226125040568853
编辑推荐:
- 快速学会使用Git和远程代码库02-26
- linux下对一个文件设置多个组的权限(setfaclgetfac02-26
- linux打开端口《图》02-26
- ubuntu14 安装jdk1.702-26
- Linux常见目录详解图02-26
- linux下lftp连接ftp服务器上传下载命令02-26
- Linux系统管理员必备工具系列之vmstat02-26
- Linux日志清除02-26
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- linux打开端口《图》
linux打开端口《图》
26-02-26 - Linux常见目录详解图
Linux常见目录详解图
26-02-26 - linux设备驱动程序的编写
linux设备驱动程序的编写
26-02-26 - Linux下的网络配置命令
Linux下的网络配置命令
26-02-26 - VNC远程连接Linux系统设置
VNC远程连接Linux系统设置
26-02-26 - word分数怎么打
word分数怎么打
26-02-26 - word2007自动生成目录?
word2007自动生成目录?
26-02-26 - 如何自定义Office 2003用户界面?
如何自定义Office 2003用户界面?
26-02-26 - word页码从任意页开始
word页码从任意页开始
26-02-26 - word怎么设置页眉和页脚?
word怎么设置页眉和页脚?
26-02-26
