Git光速入门

家住魔仙堡 提交于 2020-02-22 15:49:50

Git的使用和讲解

 

版本控制:

 

说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象!

 

  • 毕业论文_初稿.doc
    毕业论文_修改1.doc
    毕业论文_修改2.doc
    毕业论文_修改3.doc
    毕业论文_完整版1.doc
    毕业论文_完整版2.doc
    毕业论文_完整版3.doc
    毕业论文_最终版1.doc
    毕业论文_最终版2.doc
    毕业论文_死也不改版.doc

 

以上就是使用最原始的方式进行版本控制,但是这种方式有显著缺点:

  • 多个文件,保留所有版本时,需要为每个版本保存一个文件…
  • 协同操作,多人协同操作时,需要将文件打包发来发去…
  • 容易丢失,被删除意味着永远失去…(可以选择网盘)

 

注意:一般版本控制工具包含两部分

  • 客户端(本地):本地编写内容以及版本记录     #           .git   仓库
  • 服务端(网盘):将内容和版本记录同时保存在远程(可有可无)  #   Github   码云

 

git是什么?

git 是一种版本控制器,更直白的说,团队开发的时候,管理代码使用的软件

 

git的配置!

相当于你在项目中是谁,

人在江湖飘,哪能没名号

 

$ git config --global user.name # 你是谁
$ git config --global user.email # 联系方式

 

1
2
3
cd E:/
mkdir test
git init

 

  • 不要将仓库建在中文目录下,否则可能出现问题
  • 一旦git init之后,  .git是一个隐藏的目录,不要随便乱碰(每一次的操作,都会有记录)
  • $ git init 把这个目录变成Git可以管理的仓库(后续新建提交和ssh克隆需要)	

 

添加文件

E:/test目录下面,用你喜欢的编辑器来开发你的程序,比如:index.py

1
print("helloworld")

编辑完成之后,git status来查看文件的状态

1
git status

此时,git发现有一个新的文件(git会自动检测是删除还是添加还是修改),但是并没有把该文件纳入管理。

我们需要两步,让git来管理该文件

    • git add index.py # 把index.py文件保存在本地暂存区
    • git commit -m '新建文件' # 把index.py提交到本地版本库

 

删除文件

 

rm来删除文件,并直接commit,提交到版本库

例如:先创建一个foo.py的文件,供练习删除使用

 

步骤如下:

1
2
3
4
5
6
7
8
9
10
11
$ touch foo.py # 创建foo.py
$ git add foo.py
$ git commit -m '删除使用'
$ ls
foo.py index.py
 
# 开始删除
$ git rm foo.py
rm 'foo.py'
 
$ git commit -m '删除foo.py'

 

 

 

 

 

 

远程仓库

经过前面的练习,我们已经能够在本地的仓库里管理代码了,但如果是团队开发,怎么配合起来呢?

 

注册在线仓库账号 (省略)

 

把代码推到远程仓库

推:push

    • 为本地库添加远程库
      git remote add origin https://git.oschina.net/lianshou/test.git
      意思是:添加一个远程的仓库,代号是origin 地址是:https://.../test.git

    • push推代码
      git push origin master
      意思是:把你本地的版本(默认是master),推到代号为origin的远程库
      这个过程会让你输入用户名和密码,即你注册时的用户名和密码

 

拉: pull

 

你想让xiaoming和你一起开发这个项目,首先我们需要在lianshou这个项目中把xiaoming添加进来,让其成为开发者,步骤如下:

项目-->管理-->项目成员管理-->开发者-->添加项目成员-->输入xiaoming

接下来就是开发:

  • 首先需要clone一份代码到自己的本地,
1
2
cd F:/
git clone https://git.oschina.net/lianshou/test.git

xiaoming开始在自己的工作区开发代码,然后提交代码到这个地址

那到另一个账户,如何得到最新的代码?

之前推(push)代码到远程服务器,那拉代码,自然就是pull了

1
git pull origin master

 

 

如果你想更清晰的学习git,你必须要了解3个重要的区域:

  • 工作区:开发者的工作目录                                   worksapce
  • 暂存区:修改已被记录,但未被录入版本库的区域            
  • 版本库:存放变化日志以及版本信息

 

 

 

 

版本的切换

1
git reset --hard "head^^^"

--hard代表的是当前版本,后面的^符号代表的是退回到第几个版本,几个^符号就代表退回第几个

但是这种方式不是很灵活,因此不建议大家使用这种方式切换,我们使用:

1
git reset --hard 2580d

2580d代表的是版本号,只需要保证版本号是唯一的即可

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!