git 实战常用命令

223 阅读5分钟

git 实战常用命令

克隆指定分支

git clone -b master gitslab.yiqing.com/declare/abo…

git stash 缓存代码

git stash 会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。

  • git stash list: 查看缓存队列
  • git stash pop:  恢复之前缓存的代码 ,这个指令会将缓存堆栈中第一个stash 删除
  • git stash apply: 将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝
  • git stash apply stash@{0}:选择队列中第一条
  • git stash drop stash@{2}: 删除队列的第三条缓存
  • git stash clear:删除所有存储的进度

创建并切换分支

一般当我们需要在两个迭代版本同时开发时,我们需要对代码建立2套分支。或者当我们分支受到污染,不想修改时,可以创建新的干净的分支再开发。

  • git branch -a :查看所有分支
  • git checkout test01: 切换到test01分支
  • git checkout -b test02:创建test02分支
  • git checkout -b test03 origin/master: 从origin库的master分支上创建新分支test03
  • git branch -D test03:删除本地分支test03
  • git fetch -a:查看并更新关联库的所有分支(主仓有新分支时,建议使用)

查看并关联仓库

  • git remote -v:查看关联的所有仓库
  • (git remote add 别名 远程库地址) : 关联新的远程仓库,并加上别名
  • git remote remove origin : 删除关联的origin库

提交一个空提交

在三方合作中,提交一个空的提交有助于更新仓库代码,比如 有一个主库地址origin,有开发者A和B。A,B在共同开发一个需求,需要在A的库拉新分支进行开发,如果开发过程B拉取了origin库新代码。并将自己代码合入A分支上时,需要A更新自己的分支。这时A就需要拉去origin库新代码,并提交一个空提交到新分支。

  • git pull origin master
  • git commit --allow-empty -m'empty'
  • git push my test04

git cherry-pick 同步提交

我在项目开发时写了一个需求,现在需要将同样的功能提交到test01 和test02分支。在我将代码提交到test01分支后,可以使用cherry-pick将提交的代码同步到test02分支上。就是将指定的提交(commit)应用于其他分支。

cherry-pick可以一次提交一个commit或者多个commit。

  1. 在test01分支提交代码。(git add ,git commit, git push)
  2. 切换到test02分支,通过git reflog 查看提交记录。找到需要的commitHash
  3. 使用cherry-pick提交。git cherry-pick e877b18c7 正常情况下就已经有一个新的commit,只需要再push下。
  4. 如果第三步发生冲突,那么cherry-pick就会中断,需要解决冲突后再重新 add ,commit,push操作。

如果需要同时转移多个提交可以有两种方式

  1. 直接列举多个commitHash : git cherry-pick hashA hashB
  2. 如果想要转移一系列的连续提交: git cherry-pick hashA..hashB

变基操作

git 有两种合并方式git merge和git rebase。下面是rebase变基合并的一些命令

git rebase --abort 完全撤消变基。 Git 将返回到分支的状态,即调用 git rebase 之前的状态

如果变基过程中因为操作失误,而退出了刚刚的编辑页面,可以git rebase --edit-todo 回到刚刚的编辑页面继续操作。

解决冲突,如果在变基过程有冲突里先解决冲突所做修改添加到暂存区git add .

然后继续变基 git rebase --continue 上面两步可能会多次重复执行

如果出现了 Successfully rebased and updated xxxx ,说明操作成功了!

这时查看 log 就会发现第1步中的commit在最新的位置处,并且远程的修改也按顺序排好了。

变基操作完成,可直接执行 push 操作了。

git config 配置

在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类:

1、仓库级别 local 【优先级最高】 1、git config --local -l 查看仓库配置

2、用户级别 global【优先级次之】 1、git config --global -l 查看用户配置

3、系统级别 system【优先级最低】1、git config --system -l 查看系统配置

如何修改配置呢。 可以通过命令去修改:

$ git config --global user.name "yjk" 修改用户名 修改完后通过git config --global -l查看

也可以直接编辑:

比如我们直接编辑用户级别 : 使用命令 git config --global --edit 就会打开配置文件,进行编辑,使用vim命令即可编辑。

注:vim基本命令 用户刚刚启动 vi/vim,便进入了命令模式。在命令模式下按下i就进入了输入模式。当我们编辑好了后 按ESC,退出输入模式,切换到命令模式。 在命令模式下按下:(英文冒号)就进入了底线命令模式。 按wq保存并退出程序 。

  • i 进入输入模式
  • x 删除字符
  • esc 退出输入模式到命令模式
  • : 命令模式到底线命令模式
  • q 退出程序
  • w 保存文件