git的基本命令

git和svn一样,都是版本控制软件,因小编git用的比较多,所以这里只简单

的介绍下git的简单使用。git有两种仓库,一种是远程仓库,也就是github/gitee,

另一种是本地仓库,在本地建立自己的仓库。

一.本地仓库

1.当我们安装git后,如果你想在某个文件夹下面建立本地仓库,比如在F:\git下建立,这个时候我们

   需要到该目录下鼠标右击,你会看到GIT GUI here和GIT Bash here两个选项,GIT GUI here简单

   理解是git的可视化工具,而GIT Bash here是git的命令窗口。选中GIT Bash here后进入命令模式

2.打开后输入git点击回车,如果出现以下这种内容,说明安装成功,我们遍可以输入指令了

 3.git init初始化一个仓库。输如运行完以后可以输入ls -a查看有一个.git文件(.git为隐藏文件),在

    git目录下可能看不见该文件,可以打开隐藏的项目就可以看见了

   git add .( 将所有的文件添加到缓存区)

   git add 文件名 (将指定的文件添加到缓存区)

   git commit -m '第一次提交'(将添加到缓存区的文件提交到仓库,-m后面为备注)

   git status(可查看当前仓库的修改状态。若未修改,或已修改已commit到仓库则不展示状态。已

                     修改未添加缓存区查询文件呈红色。已修改添加到缓存区但未commit,呈绿色)

 git diff(查看修改的内容,工作区与缓存区的比较,减号代表删除的,加号代表新增的内容)

  git log/git reflog(可查看历史交易记录及版本号)

 

     git reset --hard HEAD^(回退到是上一个版本,如上回到上上个版本,在HEAD后面加两个^^)

     git reset --hard 版本号(回退到指定的版本)

以上所说的git目录就是工作区。.git,这个不算工作区,而是Git的版本库。stage(或者叫index)

的缓存区,分支master。master的一个指针叫HEAD。git add从工作区添加到版本库的缓存区(stage/index)

git commit从stage提交到master分支上。

    git checkout -- 文件名(丢弃工作区的修改,相当于ctrl+z)

    git reset 文件名/git reset HEAD 文件名(从缓存区回退到工作区)

4.master是git默认的一个分支,我们也可以创建删除修改分支

   git branch dev(创建一个新分支,当你的master分支创建dev分支的时候。dev也拥有master下的所有文件)

   git checkout -b dev(创建一个dev分支并进入新创建的分支里)

   git branch(查看分支,*号表示当前所在的分支)

   git checkout dev(切换分支)

   git branch -D dev(删除分支)

 

二.远程仓库(gitee)

1.打开dos窗口克隆远程仓库的代码(前提远程仓库是开放的)

   git clone https(https可在gitee上查看,如下图)

2.克隆所有的代码到本地后设置自己的name和email,方便push到gitee后知道是谁提交的

   git config --global user.name  "....."

   git config --global user.email "....."

   

  也可省略这一步,不过在git push时会提示输入用户名和密码

3.修改完本地代码git commit后,就可以推送到远程仓库了

    git push origin 要提交的分支

 4.git pull || git fetch+git merge

 git pull:从远程仓库拉取指定分支到本地并合并本地指定的分支

 语法:git pull   远程主机名    远程分支名:本地分支名(若当前所在分支是要合并的分支时,可

            省略:本地分支名)

 可以看到看到在拉取远程仓库分支合并和本地时出错:non-fast-forward,这是因为其他人在push

 是没有同步你,而你本地的改写的代码又git commit了,这种情况下就可以使用git fetch+git merge

 来操作,然后再git push

 git fetch origin 远程仓库的分支(拉取远程分支到本地,但不合并)

 git merge origin FETCH_HEAD(当前分支和拉取的远程分支合并)

 我这里是报了一个冲突(content),大概意思就是发生冲突记录在了one.txt里,解决完冲突后再

 提交,就可以git push了。

posted @ 2022-01-13 15:24  余生没有余生  阅读(249)  评论(0)    收藏  举报