git常用操作命令

利用命令行提交代码步骤

首先,进入你的项目目录

1:拉取服务器代码,避免覆盖他人代码

git pull

2:查看当前项目中有哪些文件被修改过

git status

具体状态如下:

1:Untracked: 未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.

2:Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.

3:deleted: 文件已删除,本地删除,服务器上还没有删除.

4:renamed:文件改名, 因为如果不用特殊处理,改名之后git只会认为你删了这个文件,又新建了另一个文件。

3:将状态改变的代码提交至缓存

git add + 文件

git add -u + 路径:将修改过的被跟踪代码提交缓存

git add -A + 路径: 将修改过的未被跟踪的代码提交至缓存

例如:

git add -u vpaas-frontend/src/components

将 vpaas-frontend/src/components 目录下被跟踪的已修改过的代码提交到缓存中

git add -A vpaas-frontend/src/components

将 vpaas-frontend/src/components 目录下未被跟踪的已修改过的代码提交到缓存中

git add .

使用上面的命令将所有的修改的文件提交到缓存区

4:将代码提交到本地仓库中

git commit -m “修改项目代码”

5:将缓存区代码推送到Git服务器

git push

$ git push origin

上面命令表示,将当前分支推送到origin主机的对应分支。 

如果当前分支只有一个追踪分支,那么主机名都可以省略。 

$ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。

$ git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。


1:误将代码提交到缓存中(利用 git add 命令误将代码提交的缓存中)

解决办法:利用 git reset 命令将撤回缓存中的代码。

2:误将代码提交到本地仓库(利用 git commit 命令误将代码提交到本地仓库)

解决办法:

git reset —hard + 版本号

彻底回退到某个版本,本地的代码也会改变上一个版本内容。


开发常用git指令:

git init  # 初始化本地git环境

git clone    <#> 克隆一份代码到本地

git config --globa user.name/user.email  # 修改全局的用户名称/邮箱

git checkout -b xxx  # 基于当前分支创建xxx分支并切换到xxx分支

git checkout xxx  # 切换到xxx分支

git checkout -d xxx  # 删除本地xxx分支

 git checkout -- readme.txt     撤销修改:1. 文件在添加到缓存区前修改,则回退到原工作区状态;2. 文件在添加到缓存区后修改,则回退到原缓存区状态。也即是将readme.txt撤回到最近一次git add或git commit状态(注:--表示在当前分支,如果没有,则切换到另一个分支)

git push origin --delete xxx  # 删除远端xxx分支

git push origin xxx:xxx  # 将本地xxx分支推送到远端

git branch -a/-r  # 查看全部分支/查看远端分支

git branch -d  # 删除本地分支

git remote prune origin #删除远端不存在的分支

git pull origin xxx   # 将远端xxx分支拉取到当前分支(将git fetch 和 git merge 合并为一步)

git fetch origin xxx  # 将远端分支更新到当前分支(单独进行下载和合并是一个好的做法,你可以先看看下载的是什么,然后再决定是否和本地代码合并。git diff xxx xxx,  git merge xxx)

git add xxx  # 将本地文件xxx添加到stage中

git commit -m "xxx"  # 将stage中文件提交到本地仓库,备注为xxx

git commit --amend  # 将stage中的文件追加到上一次提交中

git merge xxx  # 将xxx分支合并到当前分支,可能会出现冲突,修改冲突后 git commit

git push origin xxx   # 将分支推送到远端xxx分支

git stash  # 把未完成的修改缓存到栈容器中

git stash list  # 查看所有的缓存

git stash pop  # 恢复最近一次缓存到当前分支

git stash drop file  # 删除缓存的stash

git stash clear  # 清空栈内所有缓存

git status  # 查看当前分支有哪些修改

git log  # 查看当前分支上面的日志信息

git diff  # 查看当前没有add的内容

git diff --cache  # 查看已经add但没有commit的内容

git diff xxx xxx  # 对比两条分支之间不同的代码(可在向远端提交代码之前或合并分支之前看自己做了哪些更改)

git show xxx  # 查看某次提交的具体内容

git resert --hard HEAD  # 撤销本地修改



目前正在有完成。突然一个紧急的bug需要处理:

git add .  # 添加修改到stage

git stash  # 添加到缓存

git checkout xxx  # 切换到xxx问题分支

git pull origin xxx  # 拉取xxx分支的最新代码

git add xxx  # 将修改的文件添加到stage

git commit -m “” # 提交修改

git push origin xxx  # 推送到远端

git checkout xxx  # 切换到之前的分支

git stash pop  # 恢复之前修改的内容,继续进行开发

你可能感兴趣的:(git常用操作命令)