目录
1.Git配置及gitee配置
2.GIT 查看/修改用户名和邮箱地址
3. git 如何创建新分支
4. git的分支与合并的两种方法
5. git 合并冲突
6. 如何在同一台电脑使用不同的账号提交到同一个github仓库
7. 如何在vscode的终端提交到gitee仓库
8.使用VSCode将本地项目代码上传到gitee中的方法
9. 使用VScode提交项目到gitee
10 git 常用命令
GIt——怎样克隆远程仓库到本地(敲详细)_宝藏女孩的成长日记的博客-CSDN博客_git怎么克隆已经建立仓库
1. gitBash 窗口配置(配置Git的用户名,邮箱名,仅需要配置一次)
git config --global user.name "用户名"
git config --global user.email "邮箱(gitee注册的邮箱)"
然后执行下面命令,查看是否配置成功:
git config --list
如果出现有下面这个界面就是成功的
2. 执行生成密钥对命令
ssh-keygen -t rsa -C "邮箱"
执行命令,并按回车3下(有提示你是否需要设置密码,直接回车跳过就行,如果设置了每次使用Git 会提示输入密码)
3.
3. 打开id_rsa.pub的公钥文件,复制里面所有的内容
注意:如果要输入密码的话,密码是你注册gitee账号的密码, 如果忘记了可以找回
2.1 用户名和邮箱地址的作用
用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。
每次commit都会用用户名和邮箱纪录。
github的contributions统计就是按邮箱来统计的。
2.2 查看用户名和邮箱地址:
$ git config user.name //查看账号
$ git config user.email //查看邮箱
2.3 修改用户名和邮箱地址:
$ git config --global user.name "username" //修改姓名
$ git config --global user.email "[email protected]" //修改邮箱
3.1 首先进入本地git仓库目录下,打开git bash环境, 使用 git branch 命令可以查看到当前目录下几个分支
3.2 使用git branch 分支名称,创建分支,创建完成后通过git branch可以看到本地已经多出了一个新建的分支 git branch test
3.3 本地创建后,我们需要将本地的分支推到远程服务器上这样别人也都能看到这个分支,未推送时远端目前只有一个master分支
3.4 使用git push origin 分支名 命令将本地的修改推送到远程服务器上 : git push origin test
3.5 push完成后你可以在远程服务上看到了新建的分支
4.1 咱们先来看一下第一种方法 —— git merge
在 Git 中合并两个分支时会产生一个特殊的提交记录,它有两个父节点。翻译成自然语言相当于:“我要把这两个父节点本身及它们所有的祖先都包含进来。”下面具体解释。
# 创建新分支 bugFix
git branch bugFix
# 切换到该分支
git checkout bugFix
# 提交一次
git commit
# 切换回 master
git checkout master
# 再提交一次
git commit
# 用 git merge 把 bugFix 合并到 master
git merge bugFix
(master 的分支被混入到所有的提交记录,但 bugFix 没有,所以要进行下面的操作)
# 再把 master 分支合并到 bugFix(因为 master 继承自 bugFix,Git什么都不用做,只是简单地把 bugFix 移动到 master所指向的那个提交记录。)
git checkout bugFix;
git merge master
4.2 第二种合并分支的方法是 git rebase
。rebase 实际上就是取出一系列的提交记录,“复制”它 们,然后在另外一个地方逐个的放下去。Rebase 的优势就是可以创造更线性的提交历史,这听上去有些难以理解。如果只允许使用 Rebase 的话,代码库的提交历史将会变得异常清晰。
# 创建新分支 bugFix分支
git branch bugFix
#提交一次(提交在master分支上)
git commit
# 切换到bugFix分支
git checkout bugFix
# 提交一次(提交在bugFix分支上)
git commit
#使用git rebase
把 bugFix 分支里的工作直接移到 master 分支上(移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发#的)。
git rebase master
注意:提交记录 C3 依然存在(树上那个半透明的节点),而 C3'是我们 Rebase 到 master 分支上的 C3 的副本。
#切换到master分支上(为了进行更新master的操作)
git checkout master
#把master的 rebase 到 bugFix 分支上(由于 bugFix 继承自 master,所以 git 只是简单的把 master 分支的引用向前移动了一下而已。)
git rebase bugFix
如果自己创建的新分支和master分支都提交了相同文件(内容并不完全相同),怎么合并该文件内容并解决冲突呢?
下面举一个例子来说明如何合并分支
5.1.创建新分支dev并切换到该分支
$ git checkout -b dev
Switched to a new branch 'dev'
5.2 在dev分支上创建test.txt文件并编辑其内容
aaa
bbb
ccc
create new branch dev
5.3 添加文件到暂存区并提交文件
$ git add test.txt
$ git commit -m "create new branch dev"
5.4 切换到master分支
$ git checkout master
在master分支上创建test.txt文件并编辑其内容
aaa
bbb
ccc
go back master
5.5 添加文件到暂存区并提交文件
$ git add test.txt
$ git commit -m "go back master"
5.6 分支合并
如果直接合并dev分支,那么会出现冲突
$ git merge dev
Auto-merging readme.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
我们打开test.txt文件发现里面的内容多了一些箭头,git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
aaa
bbb
ccc
<<<<<<< HEAD
go back master
=======
create new branch dev
>>>>>>> dev
那么如何解决冲突呢?其实只需要把test.txt文件做如下修改即可
aaa
bbb
ccc
go back master
create new branch dev
再次合并即可成功
$ git merge dev
https://www.csdn.net/tags/NtzaggysMzY2MS1ibG9n.html
首先了解一下Git的应用,主要体现在两个方面:
1.本地仓库
2.远程仓库:
gitee 国产码云:是 oschina 免费给企业用的,不用自己搭建环境。
github 开源权威:目前仍然是最火的开源项目托管平台, 同时提供公共仓库和私有仓 库,但如果使用私有仓库,是需要付费的。
gitlab 私有:可创建私人的免费仓库
.git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西
在vscode终端将代码上传到gitee平台上:
7.1.建立远程仓库:在我们的git平台上创建一个自己的仓库,找到git右上角的“➕”,点击选择新建仓库
7.2 进入到本地git
(1)进入到工程根目录下(因为想要通过git管理这个工程),当vscode打开该项目,可在导航栏点击终端调出终端,也可以按Crtl + ~ 键来调。
先查看自己是或有git,在命令行输入git --version,因为这些命令需要在git命令行输入
输入git status:查看状态,没有.git文件的话会显示以下提示
fatal: not a git repository (or any of the parent directories): .git
(2)初始化仓库
git init 这个是初始化仓库,完成后会多出一个.git文件
.gitignore文件用来忽略被指定的文件或文件夹的改动,被它忽略的文件是不会被放入远程仓库里的
7.3 进行全局配置
git config --global user.name "用户名"
git config --global user.email "注册邮箱"
(4)把所有文件都添加到暂存区,即交给git追踪(这里忽略了.gitignore中声明的目录或文件)
这里需要注意:git add . 和 git add * 区别
git add . 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤,
而git add * 会忽略.gitignore把任何文件都加入
7.4 提交到了本地 的 .git 里面:git commit -m "项目文件夹名"
git reflog:可以查看提交次数
7.5 本地仓库与远程仓库绑定
git remote add origin 上面创建的远程仓库地址.git
然后,将本地仓库状态推送到远程:git push origin master
7.6 打开远程仓库,刷新查看代码是否上传
8.1 创建远程仓库,这个就是远程仓库的地址
创建好了之后又这样的全局显示,证明仓库创建成功
Git 全局设置
git config --global user.name "小叶小叶"
git config --global user.email "[email protected]"
8.2 桌面鼠标右击打开 Git Bash Here
用 cd 命令切换到 自己的目录下面(我的目录是下面这个)
注意 :有出现master 就代表 成功切换到你的git仓库
8.3 .进去项目的根目录下打开终端来使用git(因为想要通过git管理整个工程),首先使用git --version命令查看git的版本号(证明git可用)
使用git status命令用于查看在你上次提交之后是否有对文件进行再次修改。
8.4 使用git add *命令将所有文件【不包含.gitignore中声明的目录或文件】交给git追踪
8.5 使用git commit -m "first commit"命令来提交我们的项目代码
使用 git reflog 命令查看提交的日志
8.6 使用git reset --hard 版本号 可以实现在开发功能进行一半又要修复之前的问题而且着急上线的情况下进行回退版本号的操作
注意:
当代码有重大变动的时候,执行 git add *和 git commit "" 这两条命令来查看当前代码。
8.7 接下来使用 git remote add origin 远程仓库地址 ,该条命令将本地仓库与远程仓库绑定
复制这个 :列 git remote add origin https://gitee.com/yehai-feng/testgit.git
8.8 使用 git push origin master 命令将本地仓库状态推送到远程仓库中
接下来就可以在gitee仓库中看到代码已经上传成功(见下图)
9.1 打开vscode
9.2 文件->首选项->设置,打开设置
9.3 搜索 terminal.integrated.shell.windows 打开settings.json编辑
把文章之前的注释,添加以下代码
{
"remote.SSH.remotePlatform": {
"Unbantu": "linux"
},
"typescript.disableAutomaticTypeAcquisition": true,
"C_Cpp.errorSquiggles": "Enabled",
"cmake.configureOnOpen": true,
"terminal.integrated.profiles.windows": {
"gitBash": {
"path": "C:\\Program Files\\Git\\bin\\bash.exe", // 放的是你git的路径
}
}
}
9.4 保存重启vscode,按ctrl+~键打开终端,看是否生效
git branch 查看本地所有分支
git status 查看当前状态
git init 初始化仓库
git commit -m 提交
git push origin master 将分支给推到服务器上
git checkout -b dev 建立一个新的本地分支dev
git checkout dev 切换到本地dev分支
git merge origin/dev 将分支dev与当前分支进行合并ctrl + inert 粘贴
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git commit -am "init" 提交并且加注释
git remote add origin [email protected]:ndshow
git push origin master 将文件给推到服务器上
git remote show origin 显示远程库origin里的资源
git push origin master:develop
git push origin master:hb-dev 将本地库与服务器上的库进行关联
git checkout --track origin/dev 切换到远程dev分支
git branch -D master develop 删除本地库develop
git remote show 查看远程库
git add .
git rm 文件名(包括路径) 从git中删除指定文件
git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来
git config --list 看所有用户
git ls-files 看已经被提交的
git rm [file name] 删除一个文件
git commit -a 提交当前repos的所有的改变
git add [file name] 添加一个文件到git index
git commit -v 当你用-v参数的时候可以看commit的差异
git commit -m "This is the message describing the commit" 添加commit信息
git commit -a -a是代表add,把所有的change加到git index里然后再commit
git commit -a -v 一般提交命令
git log 看你commit的日志
git diff 查看尚未暂存的更新
git rm a.a 移除文件(从暂存区和工作区中删除)
git rm --cached a.a 移除文件(只从暂存区中删除)
git commit -m "remove" 移除文件(从Git中删除)
git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)
git diff --cached 或 $ git diff --staged 查看尚未提交的更新
git stash push 将文件给push到一个临时空间中
git stash pop 将文件从临时空间pop下来
---------------------------------------------------------
git remote add origin [email protected]:username/Hello-World.git
git push origin master 将本地项目给提交到服务器中
M :修改 D:删除
AM 状态的意思是这个文件在我们将它添加到缓存之后又有改动
1.问题:git add [文件名] 显示: fatal: pathspec 'readme' did not match any files