赞
踩
下载地址
正常安装
在插件中搜索chinese,并且install
快捷键Ctrl + Shift + P打开vscode的命令框,并输入Configure Display Language
选择chinese
mingw下载不下来的话,从下面的链接里面下。
链接:https://pan.baidu.com/s/1BxeHO-soXjypCTL8FloIYw
提取码:utga
Git 是分布式版本控制系统。
学习地址
可以记录每次文件的改动,还可以一起编辑,还可以查看某次改动
类似这样
1:在vscode中新建一个文件 不包含英文 并在终端中切换到对应的界面。如图所示
2:通过git把 目录变成git 可以管理的仓库
事实上 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
生成.git,其是git用来跟踪仓库的
(在这之前需要先链接账号和github)
3:添加文件
本地库的操作(已经有仓库了)
先进入库 git init
在关联远程库 git remote add origin git@github.com:xxx/GIT_DEMO.git
git add< file > 把文件添加到本地仓库(暂存区):
git commit -m < message > 把文件提交到本地仓库 把暂存区的所有修改提交到分支
如果我们对其进行修改
git status
查看仓库的状态,哪些文件被修改了 还没有准备提交到仓库
git diff
查看具体哪些被修改了
修改完后没有什么问题 那么就可以提交了 其顺序和提交新文件是一样的
git add
git commit
回退和返回
git log
查看最近到最远的提交日志
git reset --hard commit_id
通过id来穿梭各个历史版本
HEAD指向的版本就是当前版本 HEAD^ 上一个版本
要重返未来,用 git reflog
查看命令历史,以便确定要回到未来的哪个版本
你回退之后文件本身就会变
多次修改
多次修改后都要 git add
不然你git commit
的时候只会提交最近一次git add
的文件
撤销修改
git add
和git commit
git checkout -- file
撤销这次的修改,回到最近一次git add
或者git commit
的状态
git add
没有git commit
git checkout -- file
暂存区的修改撤销掉(unstage),重新放回工作区: 就是git add
了但是没有commit,此时就回到了上面的情况
git add
和git commit
了 没有推送到远程库如果git commit
了,但是还没有推送到远程库,那么可以使用回退和返回 git reset --hard commit_id
来回到之前的
删除文件
你在本地删了文件,git status
可以看哪些文件删了
git rm test.txt
来删除版本库里面的文件
如果删错了 调用git checkout -- file
就可以回来了
推到远程库
首先在你的本地库中运行,实现关联远程库
git remote add origin git@github.com:xxx/GIT_DEMO
origin
就是远程库的默认叫法 xxx是自己的github账户名,
然后就可以把本地库推送到远程库上,
git push -u origin master
把当前分支master推上去,-u是指第一次推送的时候把master和远程的master关联。
后面只要
git push origin master
删除远程库和本地库之间的绑定
git remote rm origin
这不是删掉远程库 要删掉需要 去github端删除。
从远程克隆一个下来
在多人开发中,每个人各自从远程克隆一份就可以了
git clone git@github.com:xxx/xxx.git
分支就是你要工作的时候创建自己的一个分支,别人看不到的,你可以自己提交,开发完成后合并到原来的分支上。
每次提交之后,就会产生一条线,我们的head指向这个线
我们可以创建新的分支dev,然后head就指向了开的新分支
对于合并也十分简单,只要把主分支的指针指向dev,并且把dev删掉就可
实战例子
git checkout -b dev//创建一个dev的分支,然后切换到该分支
或者
git switch -c dev
等价于
git branch dev //开新分支
git checkout dev//切换分支
查看分支 git branch
这时候你修改的文件是不会影响 master的。当完成修改后,git add
和git commit
后
把他合并回去
git merge
把指定的分支合并到当前的分支中。
git checkout master //切换到默认分支 新版本的git 使用 git switch -c dev 更加合理 -c是指新的
git merge dev//把dev分支合并到当前分支,就是master
git branch -d dev //删除dev分支
两者都有新提交
解决的办法是:
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容
做法是修改在保存
git add readme.txt
git commit -m "conflict fixed"
git log --graph --pretty=oneline --abbrev-commit
可以查看分支合并的情况
完成后删除feature1分支
git branch -d feature1
另一种办法,就是在合并的时候加上–no-ff的参数
git merge --no-ff -m "merge with no-ff" dev
这样在合并的时候,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
在遇到bug的时候建一个临时分支来解决,此时需要保存目前没有完成的进度
可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash
在你完成bug修复后。就要回到原来的分支上干活,
git stash list
//查看储存的
有两种办法恢复
git stash apply
+git stash drop
恢复后先不删除 除非调用第二个git stash pop
恢复后把stash删除了可以多次stash 恢复的时候
git stash list
然后,选择指定的恢复
git stash apply stash@{0}
Bug修改合并到当前的分支
在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>
命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
先开个新分支
git switch -c new_feature
git switch dev
切换回dev准备合并,突然不想要了。
git branch -D new_feature
new_feature还没被合并,需要强制删除
远程仓库克隆时,其实git把本文和远程对应起来。
如果要查看远程仓库的信息
git remote -v
查看详细的远程库信息 显示抓取和推送的权限。git push origin dev
指定dev分支推送到远程库对应的远程分支上。
git clone git@github.com:xxx/GITDEMO.git
此时,只能看到本地的master分支,如果想在dev分支上开发;
git checkout -b dev origin/dev
//创建远程origin的dev分支到本地
这样就可以是不是的修改,并把dev分支push到远端
git add env.txt
git commit -m "add env"
git push origin dev
如果小伙伴已经推送了他的提交,然后我也要提交,那么直接推送是不行的,会冲突
先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送:
首先在远程建一个仓库,然后 git clone 然后把代码粘过去
远程新建一个分支之后 git checkout -b dev origin/dev
git add --all
然后直接git push dev或者没有第二步骤直接git push dev就可以了
第二次开发的话
git pull <远程主机名> <远程分支名>:<本地分支名>
git add 和commit之后
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。