最实用的Git命令——面试篇(图文详情)

工作中最常用,面试时最常问的Git指令,绝对良心!

  • Git VS SVN
  • 常用指令
  • 一些复杂情况
    • rebase 远程分支
    • rebase -i 合并多个commit为一个

Git VS SVN

Git是一个开源的分布式版本控制系统,想进一步了解,并知道它和SVN的区别的小伙伴,推荐这个网址Git &SVN

常用指令

我在实习的时候自己用了一些简单的git指令,而且现在很多企业都是内联到了编辑器内操作,比如
最实用的Git命令——面试篇(图文详情)_第1张图片
这样操作就可以和远程仓库实现了连接,push好之后,
就可以去jenkins上部署你的项目了~

我对Git的感受就是,当你做一个项目开发的时候,而且又不是你一个人,是很多人同时进行的时候,那Git真是太好用了!
最实用的Git命令——面试篇(图文详情)_第2张图片
当有人对你的代码修改了,你不仅可以找到对应的人,还可以找到修改了什么,还可以回退到你想的任何一个版本。

这也是现在大家都喜欢用Git的原因,管理起来确实很方便!
所以,Git是必须要学会滴~

我之前偶尔看到一个前端小姐姐在面试,她问了对Git的操作了解多少,问他
本地代码传到本地某个分支,远程代码怎么拉到本地分支,emmm就是一些
使用技能,这些没有项目经验,谁敢说会? 会个锤子哦
最实用的Git命令——面试篇(图文详情)_第3张图片
自己在gitlab或者github上建一个项目,用ssh密钥和本地连上,

自己下个Git Bash测试下,什么都没有自己实践珍贵!

上命令!

# 常用
$ git init    # 初始化仓库
$ git add .   # 将当前目录下文件全部加到远程仓库中(master)
$ git commit  # 提交到远程仓库(默认的master分支)  用的蛮多的
$ git clone   # 将远程仓库拷贝到本地    git clone ssh://[email protected]:9922/pythonapi/api-daily-supervision.git
$ git status  # 查看当前仓库的状态
$ git log     # 查看历史提交记录,这个我用的还是蛮多的
$ git diff [file]  # 查看暂存区和工作区的差异  个人用其实就是看些对文件做的改变有哪些,删除或者增加了哪些东西


# 关于回退
$ git reset  # 回退版本 ,有下面三种形式
git reset --soft          # 将HEAD引用指向给定提交, 索引(暂存区)和工作目录的内容是不变的
git reset --mixed(git reset默认的模式)     # HEAD引用指向给定提交,并且索引(暂存区)内容也跟着改变,工作目录内容不变
git reset --hard           # HEAD引用指向给定提交,索引(暂存区)内容和工作目录内容都会变给定提交时的状态
git reset --hard HEAD^   # 回退到上个版本
git reset --hard HEAD~3  # 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id     # 退到/进到 指定commit的sha码git reset --hard 125dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 

# 关于push    'git push' 

git remote -v    # 查看远程仓库
git remote add [本地版本库] [url]   # 添加远程仓库 

# 例如: 提交本地到远程仓库的master
$ git remote add origin [email protected]:9922/pythonapi/api-daily-supervision.git  
$ git push -u origin master

$ git push -f -u origin 远程分支   # 强制提交到远程分支


# 关于pull   'git pull'
$ git pull <远程主机名> <远程分支名>:<本地分支名>   # 命令格式
例如: 远程主机 origin 的 master 分支拉取过来,与本地的 develop分支合并。
git pull origin master:develop

# 一些说明-------------
# git pull 其实是git fetch 和 git merge FETCH_HEAD 的简写,
# 简单说,就是你在开始写代码时,先pull一下,拉取最新的代码,如果没用pull,后面再merger在一起就可以嘞,这个用的还是蛮多的。



# 关于分支  这个我用的不多,主要也就下面这几个
$  git branch     # 列出本地的分支
$  git branch (branch_name)    # 创建分支
$  git checkout (branch_name)  # 切换分支 
$  git branch -d branch_name   # 删除某分支

一些复杂情况

rebase 远程分支

rebase可以说是我目前用的最多的一个指令了,如果你有过git协同开发经验,下面这个你一定遇到过:

  1. 首先 ,记住rebase谁就是让你的commit到谁的上一级
txueduo@txueduo:~$ git rebase origin/master
  1. 其次,解决冲突 ,再运行 git rebase -continue 或者git rebase --abort
  2. 最后,push到远程仓库时,git push --force-with-lease比git push --force更加安全。

rebase -i 合并多个commit为一个

(venv) ➜  dlserver git:(feature-1.5) ✗ git rebase -i HEAD~6 or git rebase -i (comit hash)

以上就是我的一些小贡献,希望对大家有帮助~

还是要手动去练习,在错误中学习绝对是最好的学习方式~

遇到不会的就自己研究呗, 毕竟我可是个研究生(废物)===

觉得有用的点个赞
最实用的Git命令——面试篇(图文详情)_第4张图片

你可能感兴趣的:(Git,git,svn,面试,python)