Git命令行操作以及报错信息解决办法(持续更新中。。。)

1:命令行操作

1.1:查看当前所在分支:git branch -a 或者 -v

1.2 : 如果存在新分支,而使用上述命令未显示,使用即可:git fetch

1.3:切换分支:git checkout branchname

1.4:解决git pull 每次都需要输入用户名密码的问题: git config --global credential.helper store(设置完还需输入1次,下次生效)

1.5:创建分支 git branch branchname

1.6:删除分支 git branch -d branchname 或者 git branch -D branchname(强制删除)

1.7:合并分支如果要将开发中的分支(develop),合并到稳定分支(master),首先切换的master分支:git checkout master。然后执行合并操作:git merge develop如果有冲突,会提示你,调用git status查看冲突文件。解决冲突,然后调用git addgit rm将解决后的文件暂存。所有冲突解决后,git commit 提交更改。

1.8:暂存当前分支:git stash  比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug,  先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。
基础命令:
$git stash
$do some work
$git stash pop

进阶:

git stash save "work in progress for foo feature"

当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,

git stash list’ 命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。


git stash          # save uncommitted changes
# pull, edit, etc.
git stash list     # list stashed changes in this git
git show stash@{0} # see the last stash 
git stash pop      # apply last stash and remove it from the list

git stash --help   # for more info

2:报错信息:

2.1:error: Your local changes to the following files would be overwritten by merge:

                            protected/config/main.php

                            Please, commit your changes or stash them before you can merge.

解决:如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,

在发布这个配置文件的时候,会发生代码冲,如果希望保留生产服务器上所做的改动,仅仅并入新配置项,

git stash

git pull

git stash pop

然后可以使用git diff -w +文件名 来确认代码自动合并的情况.

如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:

git reset --hard

git pull

2.2 git切换分支报错:error: pathspec 'origin/XXX' did not match any file(s) known to git.

项目上有一个分支test,使用git branch -a看不到该远程分支,直接使用命令git checkout test报错

解决方法: 

1、执行命令git fetch取回所有分支的更新

2、执行git branch -a可以看到test分支(已经更新分支信息)

3、切换分支git checkout test


猜你喜欢

转载自blog.csdn.net/zezezuiaiya/article/details/80014509