【51CTO.com快译】凭借着出色的协作能力、快速部署效果与代码构建辅助作用,Git已经得到越来越多企业用户的青睐。除了用于开发商业及消费级应用之外,众多科学及政府机构也开始尝试使用这项技术。为了进一步发挥自身优势,Git平台如今还引入了大量用于代码测试及团队管理的集成化工具。
然而,事实证明很多朋友对于Git仍抱有一定恐惧心理。根据GitLab最近进行的一项调查,40%的开发团队关注与Git相关的学习曲线。幸运的是,目前市面上存在大量能够帮助新用户解决问题的资源。
Git简单上手攻略
要运用Git,从命令行入手可能是***的选择。另外,相当一部分经验丰富的Git用户同样倾向于通过简单界面访问Git。Git Tower与Tortoise Git正是典型的优秀命令行客户端选项。
事实上,大多数开发者都能够学习少数命令即可完成大部分与Git相关的工作。在今天的文章中,我们将共同了解其中七项核心命令,其足以涵盖您的大部分日常操作需求。
切换至master分支:git checkout master
使用git checkout将允许大家在不同分支及潜在还原树文件间切换。这里介绍的git checkout master会让您切换至master分支,进而对repo进行修改。
获取***更新:git pull origin master
在处于master分支之后,大家可以使用git pull origin master命令以确保您的分支与资源库保持同步。这项操作通常需要合并上游变更。git pull实际属于负责提取全部***信息的git fetch与负责合并两套历史记录的git merge的组合。在本质上,git pull origin master允许大家一次性执行这两项操作。
在开始对资源库进行操作前,请记得每次执行git pull origin master。如此一来,您的远程repo才能确保与远程协作资源库确切同步。
扩展分支:git checkout -b branchname
此命令用于创建一个名为“branchname”的新分支并移动至其中。
对于Git而言,分支机制非常重要。如果您对于新功能冒出新想法,则可使用git checkout -b new-feature以创建名为“new-feature”的新分支并将其打开。此新分支允许大家与同事并行使用,并在修改期间每位使用者的代码内容都将彼此独立。
在准备好共享您的成果时,大家可以将分支推送至远程repo或者将其合并至主分支(通常为master)。
执行Git检查:git status
这条命令用于检查资源库的当前状态。例如,Git会指出您所在分支上的哪些文件经过了修改或者添加。在此之后,Git会给出相应建议,包括提供命令以对这些文件进行分段或者提交。
准备下一步:git add
git add命令能够将工具目录中的一项变更附加至分段暂存区域。这项变更可以是对文件或者目录的移除或者添加。这是一项最终提交变更前的准备性步骤。实际操作已经“完成”,但此命令会正式指定哪些变更将被提交。
如果大家认为所有变更都没问题,则可添加—all选项。输入git add —all将全部变更暂存于工作目录及子目录内,包括目录移除。
记录变更:git commit
git commit命令用于记录您在本地目录中执行的变更——与git push有所不同(后文将作出解释),后者用于对资源库进行更新。大家也可以使用git commit删除文件,不过这种处理方式有点舍近求远。
Git在本质上属于一套提交树,其中每项提交都属于一项变更(包括添加、删除或者更新)。执行git commit将提交您利用git add暂存的全部变更。这项提交作用于您的本地目录。其必须被推送至远程端(即不存在于您计算机上的资源库)以实现共享。
发布变更:git push
运行git push命令以将您的变更推送至资源库。大家可以通过多种方式对此加以调整,包括将push命令与其它具体操作进行配合。就本身而言,git push能够对资源库及其全部关联进行变更。
git push <remote> <branch>命令将把<branch>上的全部变更由您的本地资源库推送至<remote>,后者通常为存在于服务器中之上、供您与同事们共享的远程资源库。在默认情况下,***套远程资源库会被命名为“origin”。如果大家在新功能分支内作出变更,则可使用git push origin new-feature以将新功能变更发送至您与同事的协作资源库内。
请相信我,单纯利用以上命令,大家即可完成全部日常工作。开发者通常会在使用git rebase等复杂命令时遇上麻烦,而事实证明其实我们完全可以利用其它更简单的命令实现同样的效果。
***,如果您遇到了问题,请运行git status并认真阅读Git给出的建议!
原文标题:7 simple commands for Git survival
原文作者:Job van der Voort
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】