文章目录
csdn:Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!
csdn:Git操作教程-(全)
本地仓库
建立本地仓库
git init
git add readme.txt
git commit -am "add readme balabala"
.gitignore 文件
撤销修改
- 手动修改 然后
commit
git reset --hard HEAD^
commit
之前使用 首先git status
然后git checkout -- file
配置git用户名与邮箱
git config --global user.name "your name"
git config --global user.email "youremail@example.com"
--global
表示这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定的不同的用户名和邮箱
远程仓库
ssh
- 首先创建远程仓库账号,利用邮箱youremail@example.com 注册 github/gitee/gitcode 等网站账号。本地Git仓库和github仓库之间的传输是通过SSH加密的。
- 创建SSH Key :打开命令行,输入如下命令:
ssh-keygen -t rsa –C “youremail@example.com”
在用户主目录(C:\Users\Administrator\.ssh)中生成两个文件:
id_rsa
:私钥,不能泄露出去,id_rsa.pub
:公钥,添加到远程仓库
- 设置ssh:登录github,打开” settings”–> SSH Keys,然后点击“Add SSH Key”,填上任意title,在Key文本框里粘贴 id_rsa.pub 文件里的内容。
- 回到控制台 输入一下指令
ssh -T git@gitcode.com
添加远程仓库
在github
网站上建立远程仓库
git remote add origin https://github.com/******/testgit.git
git push -u origin master
origin
是远程仓库的默认名字, 可以自自己改名master
是本地仓库主分支 , 可以自自己改名- 第一次推送 master 分支时,加上了 –u 参数 , Git 在把本地的 master 分支内容推送的远程新的 master 分支的同时 ,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令。
远程仓库管理
git remote
:查看远程仓库信息
git remote -v
:查看远程仓库详细信息
分支
分支管理命令
git branch
:查看本地分支·git branch
-a` :查看本地和远程所有分支git branch dev
:创建dev
分支,并保持在当前分支下git checkout dev
:切换到dev
分支下git checkout -b dev
:创建dev
分支并切换到dev
支下git merge dev
: 将dev
分支合并到当前分支git branch -d dev
:删除dev
分支
推送分支到远程仓库
git push -u origin dev
拉取远程仓库中的分支
-
git clone -b <分支名称> \<url>
:将指定的某一个远程分支拉取到本地,拉取的本地分支将自动和远程同名分支建立追踪关系,它不会将新创建的HEAD指向克隆仓库中HEAD指向的maser主分支,而是指向我们刚拉取下来的分支; -
git fetch
:先将远程的仓库克隆clone
到本地,再执行git fetch命令将所有分支拉取到本地。该命令执行完以后还是处在master主分支的,再执行git checkout命令切换到想要的分支。 -
git checkout -b <本地分支名称> origin/<远程分支名称>
详见参考
远程仓库中含有第三方依赖库
git 从 github clone 时如果仓库代码有第三方依赖库 或者 分支 可以 使用 git clone https:\github.com**** ***.git --recursive 来下载
如果 clone 结束后第三方依赖包未下载全,可以进入 clone 的文件夹 使用 git submodule update --recursive 命令再次下载第三方依赖库
Error
git pull error: ** files would be overwritten by merge
git pull 报错 error: Your local changes to the following files would be overwritten by merge
有两种处理方式:
1. git stash 保存本地代码到 git 栈中
利用git stash 保存本地代码到 git 栈中,然后决定恢复或者删除
git stash
git pull origin master
git stash pop
git stash :备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到 Git 栈中。
git pull: pull 服务器上的代码;
git stash pop: 从 Git 栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个 Stash 的内容 , 所以用栈来管理 ,pop 会从最近的一个 stash 中读取内容并恢复。
git stash list: 显示 Git 栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空 Git 栈,此时使用gitg等图形化工具会发现,原来 stash 的哪些节点都消失了。
2. 不保存,直接删掉本地版本 然后git pull
git reset --hard
git pull origin master
# clone
[git clone —recursive 快速高效下载方法](https://zhuanlan.zhihu.com/p/361136073)