入职第一天
-
配置邮箱账号
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仓库地址