Git原理,安装,使用,git分支,加标签,git上传代码到github

目录

0x00 git原理

0x01 git安装

0x02 git的使用

0x03 码云

0x04 git分支

0x0A 加标签


0x00 git原理

Git是Linus 2005年用C写的一个代码管理系统,不同于SVN(集中式,必须有一个中央的SVN服务器,协同工作的每个人需要将自己的代码提交到SVN服务器上,只有中央服务器上的代码是完整的,每一个人手里只有一部分代码。),Git是分布式的,即协同工作的每个人手里都有一份完整的代码,并且没有中央服务器,直接可以本地提交。

0x01 git安装

Mac下:git官网下载即可,然后在命令行输入git。

安装完成后,就是开始登录git了。

1、设置你的名字: git config --global user.name "name"

2、设置你的邮箱:git config --global user.email "[email protected]"

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

0x02 git的使用

首先cd到你的项目目录,

1.git init 创建git仓库(仓库名为master 即主分支branch)

可能我们会发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

2.添加文件到暂存区

添加全部文件: git add .

或者 添加指定文件: git add "test.rtf"

注:(git add .)   add后面带一个空格再加点

3.将暂存区的东西提交到本地仓库

git commit -m "xxx"

注:xxx一定要写,不能为空字符。(-m后面一般输入的是本次提交的说明)

4.查看状态。(可以查看到哪个文件自上次提交后的修改情况)

git status

5.当版本有更新后

(如果你不记得版本是否修改了,git status可以确认版本是否有更新,如果有更新,可以通过git diff 文件名 来查看具体的更新)

将新版本add commit一遍

git add . 可以将所有修改的文件,自动添加到暂存区

例如:

1、先添加:$ git add "test.rtf"

2、在提交:$ git commit -m "新增天气文字"

6.查看提交记录。

git log

如果你想一行显示:git log --pretty=oneline

7.版本回退。如果我们在使用过程中,想退到之前的某一版本。

回退到上一个版本:$ git reset --hard HEAD^ 

--hard表示强制回退

回退到上两个版本 git reset --hard HEAD^^

如果回退多了怎么办呢?这就需要知道之前版本的版本号了。

git reflog 可以查看之前版本的版本号。

然后

回退到某一版本:$ git reset --hard bf4dc99

输入版本号的前7位

8.git 设置别名:

git config --global alias.xx commit

给commit 一个别名xx

如果文件还没有add,想要撤销修改的话:

9.git checkout 文件名

如果文件已经add,但是没有commit,想要撤销修改的话:

首先,将文件从暂存区拉回来:git reset HEAD 文件名

然后,git checkout 文件名 撤销修改

10.如果误删了某文件,如何恢复呢?

git checkout -- 文件名

11.删除文件

首先,删除文件

然后,git rm 文件名

然后,git commit -m ' xxxxx'

12.如何提交到远程仓库GitHub?

首先,登录github账号,然后,New repository建一个新的仓库。

然后点Settings

将公钥复制到网页key的位置,点添加即可。

然后cd到公开目录下,执行git clone 从github上创建的仓库复制的ssh key

将github上初始化好的license readme下载到自动创建的一个文件中,

然后cd到这个文件夹,开始写你的项目代码,代码写好后,先add,commit,

然后直接git push就可以将写好的代码上传到github。

另外一个人需要用git下载github上的代码的话,需要他在电脑上先生成ssh公钥,然后在我的账户上将他生成的公钥添加上去。然后他在他的电脑上,执行git clone xxxx,将github的下载到一个文件夹中。

然后config好他的名字和邮箱

然后将在他修改好的代码git push到github

然后我就可以通过git pull 来从github获取最新的代码。

0x03 码云

码云的使用方法几乎和github相同

0x04 git分支

首先在github上创建一个分支叫dev

git pull从github上获取最新的代码(必须先pull)

然后从远程将origin下dev的内容获取下来,在本地创建一个分支dev:

git checkout -b dev origin/dev

然后git branch就可以查看所有的分支和当前在哪个分支上了

现在分支已经切换到dev上了

如果想切换到master,可以:git checkout master

如果要删除dev分支:git branch -d dev

在dev分支下,我们可以创建一个文件testbranch.php来测试

然后,add+commit该文件。然后,可以看到当前目录下已经生成了该文件

但是,如果git checkout master切换到master分支下的话,再ls则没有该文件。

切回到dev分支

然后:git push origin dev 将dev分支上的代码push到github上

其他要修改github上dev分支的代码的话,首先需要先本地创建dev分支,然后切换到dev分支上,然后再

git pull origin dev 从github 的dev分支上将代码pull到本地dev分支。然后修改自己本地的dev分支上的代码,修改好后

push到github上的dev分支

然后,项目的领导将dev上的代码pull到自己本地,审查完之后,将github上dev分支和master分支合并

首先切换到master

然后git merge dev 本地两个分支就合并成功了

然后git push origin master 将github上两个分支合并

如果该dev不再用了,可以删除本地dev:git branch -d dev

然后删除github上的dev

0x0A 加标签

给当前版本加个标签:git tag 标签 例如:git tag v1.0

显示标签对应的版本:git show 标签

给特定的版本加标签:git tag 标签 版本号前7位

0x0B 敏感信息屏蔽

在.git 下同目录下创建一个.gitignore文件,然后在里面写:
 

/config/

*.doc

*.txt

表示config文件夹不推送,doc文件不推送,txt文件不推送到github

发布了156 篇原创文章 · 获赞 19 · 访问量 8920

猜你喜欢

转载自blog.csdn.net/weixin_43415644/article/details/104275646