赞
踩
终于到了我们的git工具环节了,掌握git是我们每个程序员都必备的技能,今天就从里到外完全的介绍一下git工具,并且教你上传github项目。
我也不去百科上搜什么官方解释了,就用大白话跟大家说下。相信大家肯定都知道GitHub吧,对我们程序员来说GitHub就是宝藏库,上面有着全球开源的各种项目,而git就是管理github的一个工具。在开发项目的时候,一个大型项目开发周期都是按年来算的,随着项目版本不断迭代,如果我们开发到一半想去找回以前开发的项目版本,我们不可能重头再写一遍,所以linux之父就发明了git工具,git可以帮助我们回滚的过去的版本,极大提升了我们的项目开发效率。
工作区:仓库的目录。工作区是独立于各个分支的。
暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。
版本库:存放所有已经提交到本地仓库的代码版本
版本结构:树结构,树中每个节点代表一个代码版本。
首先先说一下,学git不能像shell,vim这些知识点一样,有个模糊大概的理解在用到的时候才查知识。git虽然是一个工具,但是操作起来非常繁琐。所以在这里介绍命令的时候,我会边跟着开发一个项目介绍。
首先我们要在本地端设置用户名还有邮箱地址
git config --global user.name xxx
:设置全局用户名,信息记录在~/.gitconfig
文件中
git config --global user.email xxx@xxx.com
:设置全局邮箱地址,信息记录在~/.gitconfig
文件中
然后用命令 mkdir project
创建一个文件夹叫 project
最后用 git init
:将当前目录配置成git仓库,信息记录在隐藏的.git
文件夹中
这样大家就创建好了一仓库了。
git add XX
:将XX文件添加到暂存区
git add .
:将所有待加入暂存区的文件加入暂存区
git rm --cached XX
:将文件从仓库索引目录中删掉
git commit -m"给自己看的备注信息"
:将暂存区的内容提交到当前分支
git status
:查看仓库状态
大家先用命令 vim temp.txt
创建一般文本,然后里面写111,这样我们就相当于在工作区修改了内容。
工作区的内容必须先用 git add .
将所有待加入暂存区的文件加入暂存区,然后我们可以用git status
:查看仓库状态。然后会展示你一个可以提交到主分支(master)上的文件状态。
最后我们只需要git commit -m xxx
" 把文件内容提交到主分支上。
这样我们就完成了一次项目。
git diff XX
:查看XX文件相对于暂存区修改了哪些内容
git log
:查看当前分支的所有版本
git reflog
:查看HEAD指针的移动历史(包括被回滚的版本)
git reset --hard HEAD^
或 git reset --hard HEAD~
:将代码库回滚到上一个版本
git reset --hard HEAD^^
:往上回滚两次,以此类推
git reset --hard HEAD~100
:往上回滚100个版本
git reset --hard
版本号:回滚到某一特定版本
我们可以重复上面操作几次,将内容迭代多几次。这样我们才能完成回滚操作。我们复习一遍,重复上面的内容,然后在之前的111下在加一个222。
好了有了两个结点后,我们就可以开始回滚操作了。回滚操作可以使用上面的命令,在这里我使用 git reset --hard HEAD^
回滚到上一个版本。回滚成功后,就会发现头指针(HEAD)指向了上一个版本。
并且可以在看看你之前的temp.txt文件,会发现你之前写入的222不见了,只有111。这是因为我们回到了上一个版本,到现在你应该大概明白git是怎么运作了吧。现在你可以尽管尝试用刚刚介绍的其他命令,git log
:查看当前分支的所有版本,或者通过别的命令跳转到下一个结点。
git remote add origin git@github.com:xxx/XXX.git
:将本地仓库关联到远程仓库
git push -u
(第一次需要-u以后不需要):将当前分支推送到远程仓库
git push origin branch_name
:将本地的某个分支推送到远程仓库
注:这个给一个推送的主分支的例子:git push origin master
在上传项目之前,需要给GitHub设置一个ssh密钥,如果不懂的话请看这里有ssh获取密钥的介绍。
我们把下面一大串东西复制后,到GitHub上,点setting,左边栏会有一个ssh添加,把你那一大串东西复制进去就可以了。
那现在我们就可以开始来传项目了。首先我们创建一个新的项目,注意名字与本地项目一样。创建进入后注意点成ssh模式。你可以看看里面那些命令,是不是大部分都是我们刚刚用的,接下来只要把git remote add origin git@github.com:leoyongyuan/project.git
复制到本地上运行,在执行git push -u origin master
就可以了,注意后面的main要换成master,因为GitHub现在把主分支设置成master了不是以前的main。
执行完看到下面情况就是运行成功了。接下来去你的GitHub页面刷新一下,刚刚那个项目就出来了。至此,本地传云端的大概操作就这些了。
现在出现一种情况,有个小伙伴想和你一块开发一个项目。对于突如其来的开发小伙伴的支持,你当然是很乐意的。这时候你就需要把你的GitHub项目传给小伙伴了。这我们只需要熟悉一条命令即可。
git clone git@github.com:xxx/XXX.git
:将远程仓库XXX下载到当前目录下
现在我们用命令退出用cd ..
到家目录下,然后运行rm project -rf
把刚刚我们的项目删掉,假装我们就是那个小伙伴。
执行完毕后,看到上面的运行结果就是传输成功了。可以运行一下ls
,就会看到出现了一个project文件。
本文我们介绍了git的一些基本的操作,并且教了如何在本地传项目到GitHub,这只是git内容的一部分而已。git还有分支处理,请注意刚刚我们的所有操作都是在mater上的,对于多人同时开发,分支就显得非常重要了,这个部分我们放在下一章吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。