配置邮箱账号
git config —global user.email "XXXX"
git config —global user.name "XXXX"
生成公钥
ssh-keygen -t rsa -C "你的邮箱"
生成的文件默认在c盘:/用户/当前用户/.ssh文件夹下,也可以指定文件
打开git网页,点击右上角个人头像–settings
选择SSH keys,把文件内容复制到key里面,然后点击Add Key按钮就完成了公钥配置
把远程代码下载到本地:
git clone git地址
切换分支
git checkout 分支名 切换本地已经存在的分支
git checkout -b 新分支名 基于当前分支,创建本地新分支
git checkout -b 新分支名 origin/远程分支名 基于远程分支,创建本地新分支
提交代码
git add . 选中所有修改文件,也可以指定文件目录或者文件
git commit -m "备注内容"
推送本地代码到远程仓库
git push 默认推送当前分支到远程仓库
git push origin <分支名> 推送指定分支到远程仓库相同的分支
git push origin <本地分支名>:<远程分支名> 推送本地分支到远程仓库指定分支,适合本地分支与远程分支不同命的情况
git push -f 强制把本地分支推送到远程仓库
把远程仓库的代码合并到本地分支
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull 默认把远程仓库的分支合并到本地当前分支
放弃文件的修改
git checkout ./文件名/文件路径 把改动的地方还原
撤回commit
git reset HEAD^ 回退所有内容到上一个版本
git reset HEAD^ 文件路径 回退XX文件的版本到上一个版本
git reset 版本号 回退到指定版本,但是改动还在,只是变成了未commit
git reset --hard 版本号 回退到指定版本,改动没有了
在某个分支上开发到一半,突然要去另外一个分支修改问题
git stash "备注" 把当前修改储藏起来
git checkout XXX 切换到其他分支把问题修改完成后,再切换回本分支
git stash pop 把刚才的改动取出来,记录也被删除
git stash list 查看储藏记录
git stash apply stash@{n} 取出指定的储藏记录,记录不会被删除
开发了一段时间,自己分支与合并分支相差很大
git rebase origin/合并分支名 把合并分支代码同步到自己分支,使用rebase在提交合并请求的时候,只看到自己提交的commit.
某个commit需要合并到2个以上分支
git cherry-pick commit-id
工作中某天突然切换了git仓库
git remote set-url origin 新git仓库地址 修改git仓库地址