在vs code中有两种方法解决冲突,方法一vs code自带的git图形工具,方法二用git命令
方法一vs code自带的git图形工具
信息提示
这里是拉取操作git pull
,提示以下信息
$ git pull
error: Your local changes to the following files would be overwritten by merge:
src/pages/Index/index.jsx
Please commit your changes or stash them before you merge.
Aborting
Updating a7d99cf..1d0ddbc
选择冲突文件,贮存本地
选择文件src/pages/Index/index.jsx
拉取线上文件,更新至本地目录(这时候本地项目会与线上同步)
git pull --tags origin master
选择项目,弹出贮存
解决冲突文件
添加文件到暂存区(Stage)后就正常提交
方法二用git命令
Git命令解决冲突
git stash save "xxxxxx"
git pull
git stash pop
git add .
git commit -m "xxxxxx"
Git常见操作
创建仓库命令
git init
初始化仓库
git clone
拷贝一份远程仓库
提交与修改
git status
查看仓库当前的状态,显示有变更的文件
$ git status
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: src/pages/Index/index.jsx
no changes added to commit (use "git add" and/or "git commit -a")
git add
添加文件到仓库暂存区(Stage)
$ git status //先查看仓库当前的状态
On branch master
Your branch is up to date with 'origin/master'.
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: src/pages/Index/index.jsx
no changes added to commit (use "git add" and/or "git commit -a")
$ git add . // 后面的‘.’,表示添加所有改变的文件
git diff
比较文件的不同,即工作区和暂存区的差异
$ git diff
diff --git a/src/pages/Index/index.jsx b/src/pages/Index/index.jsx
index 769cbef..d298f39 100644
--- a/src/pages/Index/index.jsx
+++ b/src/pages/Index/index.jsx
@@ -44,6 +44,9 @@ export default class xxxx extends xxxx {
<xxx hidden={xxxx/> */}
<xxx xxx={xxx} />
</div>
+
+
+
)
git commit
提交暂存区到本地仓库。
$ git commit -m "change index.jsx file"
[master 93ad723] change index.jsx file
1 file changed, 1 insertion(+)
git stash save
执行存储时,添加备注,方便查找,只有git stash
也可以的,但查找时不方便识别
$ git stash save "shash index.jsx file"
Saved working directory and index state On master: shash index.jsx file
git stash list
查看stash了哪些存储
$ git stash list
stash@{0}: On master: shash index.jsx file
stash@{1}: On master: index.jsx
git stash show
显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num}
,比如第二个 git stash show stash@{1}
git stash apply
把stash的内容恢复,恢复后,stash内容并不删除,需要使用命令git stash drop
来删除,默认使用第一个存储,即stash@{0}
,如果要使用其他的git stash apply stash@{$num}
, 比如第二个:git stash apply stash@{1}
$ git stash apply
Auto-merging src/pages/Index/index.jsx
CONFLICT (content): Merge conflict in src/pages/Index/index.jsx
git stash pop
把stash的内容恢复的同时把stash内容也删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0}
,如果要应用并删除其他stash,命令:git stash pop stash@{$num}
,比如应用并删除第二个:git stash pop stash@{1}
git stash drop stash@{$num}
丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear
删除所有缓存的stash
远程操作
git pull
下载远程代码并合并
$ git pull
Updating a7d99cf..1d0ddbc
Fast-forward
src/component/tab/index.jsx | 80 +++++++++++++++++++++++++--------------------
src/pages/Index/index.jsx | 26 ++++++++++++---
2 files changed, 66 insertions(+), 40 deletions(-)
git fetch
从远程获取代码库
git push
上传远程代码
$ git push
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 8 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 599 bytes | 599.00 KiB/s, done.
Total 6 (delta 3), reused 0 (delta 0)
To http://xxxxxx.com/xxx.git
1d0ddbc..93ad723 master -> master