git仓库
git.jpg- Remote: 远程主仓库;
- Repository:本地仓库;
- Index:暂存区;
- workspace:本地工作区(即你编辑器的代码)
基础
ssh关联远程git和本地电脑
1、生成密钥对
ssh-keygen -t rsa -C "xxx@xx.com"
2、查看公钥并复制
cat ~/.ssh/id_rsa.pub
3、登录账户并添加ssh key
4、验证是否添加
ssh -T git@github.com
5、账户的信息存放在C:\Users\admin
下的.gitconfig
文件中,可以修改邮箱和显示的用户名
1、git clone
git clone
从远程主机克隆一个版本库
git clone https://github.com/jquery/jquery.git
git clone -o
从远程主机克隆一个版本库并指定主机名
git clone -o jQuery https://github.com/jquery/jquery.git
克隆某个指定分支的代码
develop
为分支名,XXX
为地址。
git clone -b develop XXX
2、git remote
克隆版本库的时候,所使用的远程主机自动被Git命名为origin。
git remote
列出所有远程主机。
git remote -v
列出所有远程主机及网址。
git remote show <主机名>
可以查看该主机的详细信息。
git remote add <主机名> <网址>
添加远程主机。
git remote rm <主机名>
删除远程主机。
git remote rename <原主机名> <新主机名>
重命名远程主机。
3、git fetch
将某个远程主机的更新,全部取回本地。
git fetch <远程主机名> <分支名>
取回特定分支的更新,可以指定分支名。
拉取
git pull
取回远程主机某个分支的更新,再与本地的指定分支合并。
git pull <远程主机名> <远程分支名>:<本地分支名>
dev 更新 dev
// dev分支
git pull origin dev
拉取代码前,一般也都会先添加和提交本地文件,否则有时候拉去不下来
git add .
git commit -m 'xx'
git pull origin dev
更新代码
将远程主分支拉取到本地
方式一
git checkout develop_tf
git pull origin master
方式二
git checkout master
git pull origin master
git checkout develop_tf
git merge master
提交
git status
查看工作区状态
git add
将所有修改加入暂存区,实现工作区到暂存区的代码提交。
git commit
将代码提交到本地仓库,实现暂存区到本地仓库的代码提交。
git push
将本地仓库代码更新到远程仓库,实现本地仓库到远程仓库的代码提交。
git push
将本地分支的更新,推送到远程主机。
git push <远程主机名> <本地分支名>:<远程分支名>
demo
git status
git add .
git status
git commit -m "提交描述"
git status
git pull origin dev
git push origin dev
强行推送到远程
一般是在本地先回到到某一版本号(git reset --hard commitid
),然后再强行推送到远程。线上的版本会回到推送的这一版,并且此版本之后的都会丢失。
git push -f
强行推送
撤销
当你使用git status
命令后,窗口会告诉你当前仓库区域的状态,且提示你撤销的操作命令
未使用git add
git checkout -- demo
修改了工作区的demo文件但未提交到暂存区
git checkout .
撤销本地所有文件的修改
已使用git add
git reset HEAD demo
修改了工作区的demo文件并且通过git add 提交暂存区但未提交本地仓库
git reset HEAD .
撤销本地所有文件的修改
已使用git commit
git reset --hard HEAD^
修改了工作区的demo文件并且已经提交到本地仓库了。回退到上一次commit
git reset --hard commitid(版本号)
回退到任意版本
git log
查询版本号
分支
创建分支
git checkout -b <本地分支名>
创建并切换分支
git push origin <本地分支名>
创建远程分支,(因为远程没有此分支,所以会新建)
关联远程分支
git branch -vv
查看本地分支与远程分支的关联
git branch --set-upstream-to=origin/<远程分支名>
手动关联远程分支
git push --set-upstream origin <本地分支名>
创建远程分支并与本地分支关联
查看分支
git branch
查看本地分支。
git branch -a
查看所有分支。
git branch -r
查看远程分支。
切换分支
git checkout <本地分支名>
切换本地分支。
合并分支
git merge
合并分支。
git rebase
合并分支。
git merge master // 合并本地分支master
git merge origin master // 合并远程分支master
dev 合并到 master
切换到本地master分支
git pull origin dev
git push origin master
合并分支流程
1>每个人都有各自的分支
方式一:一个人负责合并分支
1、所有开发的分支都提交到自己的远程分支(包括自己的)
git add .
git commit -m "提交描述"
git push origin develop_tf
2、在主分支上更新远程主分支的代码
git checkout master
git pull origin master
3、在各个分支上更新远程各个分支的代码
git checkout develop_tf
git pull origin develop_tf
4、在主分支上合并各个分支的代码
git checkout master
git merge develop_tf
5、将主分支代码提交到远程主分支
git push origin master
方式二:每个人都负责合并分支
1、将自己的分支代码提交到自己的远程分支
git add .
git commit -m "提交描述"
git push origin develop_tf
2、在主分支上更新远程主分支的代码
git checkout master
git pull origin master
3、在主分支上合并自己分支的代码
git checkout master
git merge develop_tf
4、将主分支代码提交到远程主分支
git push origin master
2>多个人在同一个分支上开发
1、先提交到本地仓库
git add .
git commit -m "提交描述"
2、拉取远程代码
git pull
3、如果有冲突,将冲突解决后重新添加提交
git add .
git commit -m "提交描述"
4、提交到远程
git push
删除分支
git branch -d <本地分支名>
删除本地分支。
问题
1、fatal: Authentication failed for 'http://******** 身份验证失败
git config --system --unset credential.helper
网友评论