Git常用命令

学习并掌握基本的Git命令

1.环境配置
这是比较重要的一步,因为Git每次提交都会使用该用户信息,所以安装Git后首先要做的事情是设置用户名称和email地址。

  • 设置用户信息
    git config --global user.name “lai”
    git config --global user.email “123lai@qq.com”
    ps:这里的user.name跟user.email是可以设置为任意名称的,Git提交时并不会进行验证。
  • 查看配置信息
    git config --list
    通过上面的命令设置的信息会保存在~/.gitconfig文件中

2.获取Git仓库
获取Git仓库有两种方式:

  1. 在本地初始化一个Git仓库 命令:git init
  2. 从远程仓库克隆 命令:git clone [url]

3.Git工作目录下的文件存在两种状态

  • untracked(未被纳入版本控制)
  • tracked(被纳入版本控制)
    • Unmodified 未修改状态
    • Modified 已修改状态
    • Staged 已暂存状态
      ps:这些文件的状态会随着我们执行Git的命令发生变化

4.本地仓库操作

  • 查看文件状态:git status
    使输出信息更加简洁:git status -s

  • 将文件添加到暂存区:git add 文件名

  • 将暂存区的文件取消暂存:git reset 文件名

  • 将暂存区的文件提交到本地仓库:git commit -m ”日志内容“
    -m:写日志
    也可输入git commit后敲Enter进入编辑器编辑日志内容
    总之,commit前一定要先写日志,才能commit。

  • 删除文件:git rm 文件名
    ps:这删除的只是工作区中的文件,需要提交到本地仓库,才算真正删除

  • 将文件添加至忽略列表
    ps:有些文件无需纳入Git的管理,也不希望他们出现在未跟踪列表里。通常都是些自动生成的文件,或者是编译过程中创建的临时文件。这时我们就可以创建一个文件(.gitignore,注意名称是固定的),列出要忽略的文件模式。

  • 查看日志记录:git log

5.远程仓库操作

  • 查看远程仓库:git remote
    ps:查看的更仔细:git remote -v

  • 添加远程仓库:git remote add [shortname] [url]
    ps:shortname是给远程仓库起一个名字。另外,一个本地仓库可以同时对应多个远程仓库

  • 从远程仓库克隆:git clone [url]

  • 移除无效的远程仓库:git remote rm
    ps:该命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

  • 从远程仓库拉取代码

    • git fetch:不会自动merge,需要手动
    • git pull:会自动merge
      ps:注意这一点:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件时就会报错(fatal:refusing to merge unrelated histories),解决此问题可以在git pull 命令后加入参数–allow-unrelated-histories
  • 推送到远程仓库:git push [remotename] [branchname]

6.Git分支

  • 查看分支

    • 列出所有本地分支:git branch
    • 列出所有远程分支:git branch -r
    • 列出所有本地和远程分支:git branch -a
  • 创建分支:git branch [branchname]
    eg:git branch b1

  • 切换分支:git checkout [branchname]

  • 推送至远程仓库分支:git push [remotename] [branchname]

  • 合并分支:git merge [branchname]
    ps:合并分支时需注意这一点:如果在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,那Git就没法合并他们,同时会提示文件冲突。解决方案:打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决。

  • 删除分支:git branch -d [branchname]
    强制删除分支:git branch -D [branchname]

7.Git标签

  • 列出已有标签:git tag
  • 查看特定tag信息:git show [tag]
  • 新建一个tag:git tag [tagname]
  • 将tag推送至远程仓库:git push [remotename] [tagname]
  • 新建一个分支,指向某个tag:git checkout -b [branchname] [tagname]
  • 删除标签
    • 删除本地tag:git tag -d [tagname]
    • 删除远程tag:git push [remotename] :refs/tags/[tagname]

—end----
感谢观看,希望对你有所帮助!

技术篇 文章被收录于专栏

技术分享,阅读技术文章心得。

全部评论

相关推荐

醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
01-26 22:20
已编辑
门头沟学院 Java
Java抽象带篮子:项目很nb了,现在好好准备八股和算法吧,早点找实习,可以看看我的置顶帖子。帖子里写了怎么改简历,怎么包装实习经历,还有2个高质量可速成的项目话术,和我的牛客八股笔记专栏
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务