git常用命令及gitee(码云)使用命令备忘

发布时间:2020-10-21 浏览量: 119 文章分类: python

前后端开发常规使用的版本管理无外乎就是git然而托管平台由于github经常出现打开速度慢,打不开的问题。进而转为国内的gitee(码云),这里就整理一下完整的使用教程。 首先其实git使用非常简单,完全不用担心学不会等什么,同时gitgithubgitee这些其实是不同的东西,后面2个只是建立在git基础上的一个仓库管理。而githubgitee是一个托管仓库。类似我们可以将我们的文件备份到云端。

项目的初始化git init

在项目的初始根目录,输入git init后,页面会提示Initialized empty Git repository in /Users/zj/Desktop/webproject/testgit/.git/类似上面这样的就代表我们的git已经完成。并且会监管这个目录里面的文件变更情况。

git的状态git status

在输入git status可以查看目前目录的状态。如果我刚创建了一个新的目录,直接输入。会有下面的提示

On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)

他的大概意思是 目前是我们在主分支上,没有提交,也没有变化,暂时不需要提交。 这个时候我们在目录里面随便创建一个文件index.html同时在输入git status查看的时候会有如下的状态

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        index.html

nothing added to commit but untracked files present (use "git add" to track)

上面说在主分支中检测了变化,多了一个文件index.html但是还灭有提交,同时提醒我们可以用git add命令提交

git的提交命令(git add )

提交的意思也就是说是否需要git帮我们进行这个文件的状态变化监管。正常情况,我们是需要全目录的文件监管。而一些不需要监管的文件,则可以通过.gitignore文件来进行设置。关于.gitignore的设置可以点击这里查看我的另外一篇文章说明。 那么我们输入 git add .即可将当面目录全部进行监管。(注意命令后面有一个.

在输入完成后,我们在执行git status来查看状态会有如下的提示

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   index.html

这个意思是已经将index.html文件纳入了缓存托管区域。

git的提交(git commit)

上面说到了,我们已经将文件存储到git的缓存区域,但是实际这个时候,还没有提交到git的版本库中。所以还需要使用git commit命令来进行提交。 我们在输入git commit -m "创建了index.html"会有如下提示

[master (root-commit) 27e848a] 创建了index.html
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 index.html

现在才算完成的提交了一次版本的管理。这里需要注意-m参数也就是附带说明,我们本次提交的操作说明,建议可以写的明确一些,方便如果后面要做版本回退等操作,可以清晰的知道我们当时是干了什么。

git的提交记录查询(git reflog)

这个命令主要是查看所有的提交记录和细节。使用到比较简单。 直接输入git reflog会有下面的提示

27e848a (HEAD -> master) HEAD@{0}: commit (initial): 创建了index.html

这就是告诉我们,我们之前提交了一个记录,以及提交的说明。

git分支(git branch)

分支的作用很大,我们先假设,如果我们要在现有的一个项目上做修改,但是又不想影响现有的项目,那么常规的做法就是在复制一个文件夹,在新复制的文件夹里面开发,分支的作用也是一样,也就是说我们可以创建一个新的分支,然后在本地继续修改开发,只是这些修改开发等都是在分支上修改的,不会影响master 现在直接输入git branch会有下面这样的提示

* master

这说明我们只有一个主线分支,并没有其他的分支。

创建分支

git checkout -b 分支名称,比如我们创建一个 git checkout -b index 然后在执行git branck查看分支,则会变成如下

* index
  master

这说明我们已经创建了index分支,同时当前也切换到index分支上了。 *代表我们当前所处的分支。

切换分支

当我们创建的分支多了,如何在分支之间切换呢?其实命令还是一样的。git checkout 分支名,目前我们是有2个分支的,同时我们所处的是在index分支上(可以先用git branch 命令确认一下)。我们继续执行git checkout master

执行前:

* index
  master

执行后:

  index
* master

这样也就成功的切换了分支

合并分支

现在我们是有2个分支的indexmaster,我们需要将index的内容合并到master中。那么我们需要先切换到master分支上。 然后执行git merge index即可将index分支的内容全部合并到master中。执行后内容如下:

Updating 27e848a..e45903e
Fast-forward
 index.html | 1 +
 1 file changed, 1 insertion(+)

删除分支(建议请勿随意使用

如果要删除分支,首先我们不能处于这个分支上,假设我现在处于index分支,然后我执行删除分支的命令,则会提示 error: Cannot delete branch 'index' checked out at '...' 那么根据前面的继续吧,假设我想删除我的index分支了,我先切换到master分支上。 然后执行git branch -d index,这是就会提示Deleted branch index (was e45903e).说明已经成功删除了分支,而我们在执行git branch查看则会发现只有master分支一个了。

同步代码到码云

首先你要先注册一个码云的账号。这些就不细说了,直接按照页面提示操作即可。 注册好了以后,记得添加自己的ssh,然后创建好自己的项目仓库。

同步本地项目托管到码云(git push)

现在假设已经注册好账号,并且创建好了项目仓库 先进行添加仓库,通过码云创建项目会给一个类似https://gitee.com/xxxxx/xxx.git的地址,这个是仓库的地址。我们需要先执行 git remote add origin 项目地址 然后输入 git push -u origin master进行提交。 在提交的时候,建议先运行git status确保工作目录已经在本地提交commit,确保是干净的。 日后只要有项目更新了,需要提交等,都可以执行git push

同步分支到码云

推送本地的分支到码云上,首先要先切换到要推送的分支上,我们这里还是以index分支为例。 git checkout index先进行分支的切换。 然后执行git push -u origin 远程仓库分支名称,本项目的例子中也就是git push -u origin index即可在远程仓库创建分支。 然后切换到index分支,在执行git push即可将分支提交上去。

小实战

前面既然说了那么多,接下来我们做一个小实战,来模拟实际项目开发的过程,顺带将项目都完全一起同步一下。 这个时候我们可以做一个小实战,更加好的熟悉一下。

  • 首先创建一个项目文件夹,我们这里就叫web,然后在码云中也创建一个叫做web的项目;
  • 然后在项目目录中执行git init先初始化项目目录,然后执行git remote add origin https://gitee.com/你的项目地址
  • 然后在web项目中创建一个index.html的文件,这个文件里面我们先写一句hello git master!
  • 然后执行git add .git commit -m "这是master的index.html文件新增hello git master!"
  • 然后继续执行 git push -u origin master将项目推送到码云中
  • 接下来先去刷新一下码云看看 是否能看到我们的推送项目,同时注意检查项目分分支(应该是只有一个也就是master
  • 然后我们继续在本地创建一个分支index,执行命令git checkout -b index,执行后继续git branch检查确认是否创建成功,同时是否切换到index分支上
  • 然后我们修改index.html的内容为hello git index!,同时执行git add .git commit -m "在分支index中,修改了index.html的内容为hello git index!"
  • 在执行git push -u origin index 如果返回成功,则可以在页面刷新一下页面上仓库中的分支,正确则可以查看到2个分支。分别是masterindex
  • 然后我们在本地先切换到master分支上,然后执行git merge index,这个时候我们会发现项目中master的分支内容就被index分支替换了
  • 然后在执行git push则将现在的master分支内容全部推送到码云中

以上就是模拟了项目开发中的一些常用过程。