git使用入门

Posted jzdwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git使用入门相关的知识,希望对你有一定的参考价值。

http://blog.csdn.net/codectq/article/details/50777866 

git入门(1)--提交代码的一般步骤


http://blog.csdn.net/codectq/article/details/50777877 

git入门(2)-Git stash保存当前的工作现场


http://blog.csdn.net/codectq/article/details/50777883 

git入门(3)-Git pull和git fetch从远程拉取分支到本地


http://blog.csdn.net/codectq/article/details/50777887git入门(4)-Git rebase

http://blog.csdn.net/codectq/article/details/50777934 

git入门(5)-Git revert和git reset版本号的回退


http://blog.csdn.net/codectq/article/details/50778071git入门(6)-Git checkout 和git branch分支的创建和删除

事实上我一直都没有可以非常好的使用git这个代码管理工具。

作为开源项目必须学会使用的工具。因此不得不写下一些东西来记录。

1.初始化一个空的git仓库

[email protected]:~$ mkdir myfirstgit
[email protected]:~$ cd myfirstgit/
[email protected]:~/myfirstgit$ git init
Initialized empty Git repository in /home/caotaiqiang/myfirstgit/.git/
[email protected]:~/myfirstgit$ 

命令凝视:

在上面的命令中,真正去初始化的是第四行的那句---git init

如今myfirstgit已经创建完毕。


能够用 --bare 选项执行 git init 来建立一个裸仓库。这会初始化一个不包括工作文件夹的仓库。

$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init

这时,Join,Josie 或者 Jessica 就能够把它加为远程仓库,推送一个分支,从而把第一个版本号的项目文件上传到仓库里了。

”git init –bare”方法创建一个所谓的裸仓库,之所以叫裸仓库是由于这个仓库仅仅保存git历史提交的版本号信息,而不同意用户在上面进行各种git操作,假设你硬要操作的话。仅仅会得到以下的错误(”This operation must be run in a work tree”)

这个就是最好把远端仓库初始化成bare仓库的原因。

[email protected]:~/myfirstgit$ ls .
./    ../   .git/

可以看到创建好的.git文件夹。文件夹中有什么呢?

[email protected]:~/myfirstgit$ ls .git/
branches/    config       description  HEAD         hooks/       info/        objects/     refs/

这时候事实上什么都还没有。

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true

在config文件里仅仅有上面的信息。

2.向仓库提交我们写的文件

[email protected]:~/myfirstgit$ mkdir kernel
[email protected]:~/myfirstgit$ ls
kernel
[email protected]:~/myfirstgit$ mkdir uboot
[email protected]:~/myfirstgit$ ls
kernel  uboot
[email protected]:~/myfirstgit$
[email protected]:~/myfirstgit$ mkdir aaa
[email protected]:~/myfirstgit$ git add aaa
[email protected]:~/myfirstgit$ git commit -m "inint" aaa/
error: pathspec ‘aaa/‘ did not match any file(s) known to git.

命令解释:
我们在仓库中新建了一个文件file。作为我们的演示样例文件。

记住是文件!!!

!!。!。!!

。所以上面当创建一个目录并加入的时候会报错。解决的方法是在目录中加入文件。

[email protected]:~/myfirstgit$ cd kernel/
[email protected]:~/myfirstgit/kernel$ touch aaa
[email protected]:~/myfirstgit/kernel$ cd ..
[email protected]:~/myfirstgit$ git add kernel/
[email protected]:~/myfirstgit$ git commit -m "init" kernel/
[master e7c2e05] init
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 kernel/aaa

将file文件的信息加入到git仓库的索引库中。并没有真正加入到库。

将索引库中的内容向git仓库进行提交。这步之后文件file才算真正提交到拉git仓库中。双引號中的内容是依据每次改动的不同内容,由我们自己去填写的,

非常多人会看见

  git commit -a -m “ ”

这条的命令是在你已经add了一个或多个文件过之后,然后改动了这些文件。就能够使用该命令进行提交。

好了,无论怎么样,最终是将文件提交到库了。如今的仓库仅仅是一个本地的仓库,以下的操作是将本地仓库变成远程仓库。

3.在本地仓库加入一个远程仓库,并将本地的master分支跟踪到远程分支

首先看一下当前分支:

[email protected]:~/myfirstgit$ git branch
* master
[email protected]:~/myfirstgit$ git remote add origin ssh://[email protected]/~/myfirstgit/.git
[email protected]:~/myfirstgit$ git push origin master
[email protected]‘s password:
Everything up-to-date
[email protected]:~/myfirstgit$

命令凝视:

在本地仓库加入一个远程仓库,当然ssh后面的地址是我们本地仓库的地址.

将本地master分支跟踪到远程分支,在git仓库建立之初就会有一个默认的master分支,当然你假设建立了其它分支,也能够用相同的方法去跟踪.

如今的git仓库已经是一个远程仓库了,

測试一下

4.測试

如今本机上看看:

[email protected]:~/myfirstgit$ git remote show origin
[email protected]‘s password:
* remote origin
  Fetch URL: ssh://[email protected]/~/myfirstgit/.git
  Push  URL: ssh://[email protected]/~/myfirstgit/.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for ‘git push‘:
    master pushes to master (up to date)
[email protected]:~/myfirstgit$


以上是关于git使用入门的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

如何管理在每个 git 版本中添加私有代码片段?

markdown Git代码片段

《Git小书》笔记:1 前言

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段