您当前的位置: 首页 >  git

一一哥Sun

暂无认证

  • 5浏览

    0关注

    622博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Day05_03_Git教程之Git常用命令

一一哥Sun 发布时间:2019-05-28 14:32:43 ,浏览量:5

Git常用命令 一.Git 的基本操作命令 1. 获取与创建项目命令

1.1 git init

用 git init 在目录中创建新的 Git 仓库,我们可以在任何时候、任何目录中这么做,这完全是本地化的操作.

git init

1.2 git clone

使用 git clone 拷贝一个 Git 仓库到本地,使得我们能够查看该项目,或者进行修改.

git clone [url]
2. 基本快照命令

2.1 git add

git add 命令可将该文件添加到Git缓存.

git add 

'注意:

git add 命令只是将文件存入到了git的缓存区,此时还没有将该文件存储到本地仓库,更没有存储到远程仓库!

2.2 git status

git status 查看我们自上次提交之后是否有修改.

git status
git status -s

2.3 git diff

执行 git diff 来查看执行 git status 的结果的详细信息.

git diff 命令显示已写入缓存与已修改但尚未写入缓存的改动的区别.git diff 有两个主要的应用场景.

  • 尚未缓存的改动: git diff;
  • 查看已缓存的改动: git diff --cached;
  • 查看已缓存的与未缓存的所有改动: git diff HEAD;
  • 显示摘要而非整个 diff: git diff --stat

2.4 git commit

使用 git add 命令将想要快照的内容写入缓存区,而执行 git commit 将缓存区内容添加到仓库中.

Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址.

git config --global user.name 'yourname'
git config --global user.email youremail

将文件写入缓存区并提供提交注释

git commit -m "update message"

注意:

此处-m后面的信息,需要用双引号括起来,否则可能会产生error: pathspec异常!

2.5 git reset HEAD

git reset HEAD 命令用于取消已缓存的内容,也就是撤销对git add的操作.

git reset HEAD -- 
3. 拉取与推送

3.1 git pull

git pull命令用于从另一个存储库或本地分支获取并集成(整合).git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并,它的完整格式稍稍有点复杂.

git pull  :

将远程存储库中的更改合并到当前分支中。在默认模式下,git pullgit fetch后跟git merge FETCH_HEAD的缩写.更准确地说,git pull使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中.

3.2 git push

git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相似.

git push  :

比如:

git push origin master

注意:

Windows系统下"Incorrect username or password ( access token )的问题"的解决: 在push代码到远程仓库的时候,cmd客户端可能会产生如下异常: 是因为Wins系统把git的凭证存在windows系统中,解决办法为修改凭证或者直接删除掉默认的凭证,重新录入争取的凭证即可.

也可以直接删除掉该凭证,重新录入:

4. 标签tag命令

4.1 创建git tag

如果我们达到一个重要的阶段,并希望永远记住那个特别的提交快照,此时可以使用 git tag 给它打上标签.

比如说,我们想为我们的 商城 项目发布一个"1.0.0"版本,此时可以用 git tag -a v1.0.0 命令给最新一次提交打上(HEAD) "v1.0.0" 的标签.

-a 选项意为"创建一个带注解的标签",不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解,我们推荐一直创建带注解的标签.

git tag -a v1.0.0

如果我们要查看所有标签可以使用以下命令:

git tag

4.2 推送标签到远程仓库

git push并不会把tag标签传送到远端服务器上.只有通过显式命令才能分享标签到远端仓库.

1.push单个tag,命令格式为: git push origin [tagname]

例如:

git push origin v1.0.0 #将本地v1.0的tag推送到远端服务器

2.push所有tag,命令格式为: git push [origin] --tags

例如:

git push --tags

git push origin --tags
5.add,commit,pull,push几个命令执行顺序

一般情况下,都是add--->commit--->pull--->push.

先 commit 再 pull 再 push 的情况是为了应对多人合并开发的情况:

commit 是为了告诉 git 我这次提交改了哪些东西,不然你只是改了但是 git 不知道你改了,也就无从判断比较;

pull是为了本地 commit 和远程commit 的对比记录,git 是按照文件的行数操作进行对比的,如果同时操作了某文件的同一行那么就会产生冲突,git 也会把这个冲突给标记出来,这个时候就需要先把和你冲突的那个人拉过来问问保留谁的代码,然后在 git add && git commit && git pull 这三连,再次 pull 一次是为了防止再你们协商的时候另一个人给又提交了一版东西,如果真发生了那流程重复一遍,通常没有冲突的时候就直接给你合并了,不会把你的代码给覆盖掉.

在commit和push之间多一个pull的操作,目的有两个:第一是为了更新本地代码;第二是便于在本地合并冲突。如果中间没有pull这一步,直接push,有了冲突还是得pull来解决冲突。

6. 切换分支命令

Git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢?主要命令如下:

6.1 查看所有远程分支

git branch -a

可以看到,我们现在在master分支下:

6.2 查看本地分支

6.3 切换分支

如果本地还没有origin/v0.9rc1分支,则执行如下命令形式:

此时执行查看分支命令:

$ git branch
  dev
* master

可以看到此时处于dev分支.

再切换回master分支:

$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

7. 解决 git 获取不到远程仓库中新创建分支的问题

当我们在日常开发功能的时候,肯定会涉及到新建分支的问题,这时候我们本地的IDE或者TotorseGit等工具就无法去切换新创建好的分支,因为切换的时候根本找不到那个新建的分支,此时可以去通过刷新分支达到发现新分支的目的.

找到项目的路径并打开Git Bash Here然后去执行如下一条命令即可:

git fetch     #刷新分支

git branch -a  #查看分支

这时候IDE或TotorseGit等工具也可以切换分支了.

关注
打赏
1665624836
查看更多评论
立即登录/注册

微信扫码登录

0.2136s