git最基本常用命令(持续更新中)

git功能强大无容置疑,建议掌握git命令,因为不同的工单位使用的git 客户端都不一样,然而git命令亘古不变,不管UI工具怎么变,掌握命令,走遍天下。

一, 创建分支

  1. 定位至主分支(只有主分支可忽略此步): git checkout master
  2. 创建并切换到新分支:git checkout -b newbranch
    :-b 不要遗漏了。git branch 可以查看到刚创建的分支,但当前分支是在本地。
  3. 把工作区所有文件变化存在本地暂存区: git add .
  4. 提交至本地仓库: git commit -m "init newbranch"
  5. 推送到远程库: git push origin newbranch .结束

二,分支合并

(一),dev合到master

  1. 确保分支在dev上:git checkout dev
    :checkout 后面没有-b,这里是切换分支,不是创建分支。
  2. 更新并合并到本地dev分支: git pull
  3. 切换到master分支: git checkout master
  4. 合并:git merge dev
    10.推送至远程:git push -u origin master

(二),master合并到dev

  1. 确保分支在master上:git checkout master
  2. 更新并合并到本地master分支: git pull
  3. 切换到dev分支: git checkout dev
  4. 合并:git merge master
  5. 推送至远程:git push -u origin dev

三,分支修改相关

  1. 刷新分支
    git remote update origin --prune
  2. 查看所有分去
    git branch -a
  3. 查看远程分支
    git branch -r
  4. 查看本地分支所关联的远程分支
    git branch -vv
  5. 修改本地分支名称
    git branch -m old_branch_name new_branch_name
  6. 删除远程旧分支
    git push origin :old_branch
    注:":"紧跟着old_branch
  7. 将新分支推送到远程仓库
    git push --set-upstream origin new_branch_name

四,新工程推送至远程

  1. git init: 进入项目文件夹,通过命令 git init 把这个目录变成git可以管理的仓库
  2. git add . : 把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加 当前目录 下的所有文件 。
  3. git commit -m 'init commit':把文件提交到仓库,引号内为提交说明。
  4. git remote add origin 远程库地址: 关联到远程库 。例如:git remote add origin https://github.com/myfirst/abc.git
  5. git checkout -b dev (见一): 新建一个本地分支,这里如果直接与master打交道,这一步可以省 。
  6. git pull --rebase origin dev: 获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败),此步取决于第5步,第5步没有,则不用。
  7. git push -u origin dev : 把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支dev推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。若第5步没有,则直接git push -u 。

五,撤销(reset)操作

经常操作命令时,会有一些误操作。例如不小心将没必要的文件add到暂存区,执行了pull命令发现需要返回到上一个版本等等。这些情况就需要 reset 。在细讲之前,务必会使用git status 查看本地当前分支的状态,此命令可以显示本地当前分支的任何操作(增删改)。

  1. git pull 撤销
    一般习惯每天都会拉一下远程的代码,但有时当前版本还有些其他未完成的工作,以下是完整的pull和reset步骤:
    a. 查看远程库是否有更新,执行命令: git fetch, 发现有更新,如下图所示:
    在这里插入图片描述
    b. 执行拉取操作,git pull
    在这里插入图片描述
    c. 这时发现拉取错了,不应该拉取,执行命令:git reflog,查看所有的head号:
    在这里插入图片描述
    d. 发现刚才本地处于HEAD@{1},执行命令:git reset --hard 2d20346
    在这里插入图片描述
  2. git 修改撤销
    当前内容修改了,但还没有add.
    如果撤销某个一个文件的修改:git checkout filename
    如果撤销所有文件的修改:git checkout .
  3. git add 撤销
    当前修改的内容add了,但还没有commit
    如果撤销某个一个文件的add:git reset head filename
    如果撤销所有文件的add:git reset head
  4. git commit 撤销
    当前修改的内容commit了,但还没有push
    不删除工作空间改动代码,撤销commit,并且撤销git add . 操作:git reset --mixed head^
    不删除工作空间改动代码,撤销commit,不撤销git add . : git reset --soft head^
    删除工作空间改动代码,撤销commit,撤销git add . : git reset --hard head^
    注: HEAD^的意思是上一个版本,也可以写成HEAD~ 1,如果你进行了2次commit,想都撤回,可以使用HEAD~2

六,stash操作

  1. 存储
    git stash save "save message"
    : 执行存储时,最好添加备注,方便查找。
  2. 查看存储
    git stash list
  3. 查看改动
    git stash show
    :显示做了哪些改动,默认show第一个存储,从0开始,如果要显示其他存贮,后面加stash@{num},比如第二个 git stash show stash@{1} 。另外一种用法是使用 -p 命令。例如:git stash show -p, 显示第一个存储的改动;如果想显示其他存存储,命令:git stash show stash@{num} -p ,比如第二个:git stash show stash@{1} -p
  4. 应用存储
    git stash apply
    :使用apply时不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{num} , 比如第二个:git stash apply stash@{1}
  5. 恢复缓存
    git stash pop
    :使用pop时会将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,git stash pop stash@{num},比如应用并删除第二个:git stash pop stash@{1}
  6. 丢弃存储
    git stash drop stash@{num}
    删除所有存储
    git stash clear
    未完待续。。。

猜你喜欢

转载自blog.csdn.net/hongyinanhai00/article/details/108173658