git几乎是每一名程序狗必备的辅助技能,虽然有诸如小乌龟这样的可视化界面,奈何本人还是更倾向于命令行操作,但是这玩意儿相比较代码量来说毕竟用的不多,故在此记录方便查阅
一、创建远程仓库并初始化
1-下载
2-创建git仓库
登录github——选择your repositories——选择new——填写仓库名称
3-添加ssh秘钥
cd ~/.ssh 检测是否配置过,如果没有则提示 No such file or directory
ssh-keygen -t rsa -C"1372978934@qq.com" 创建ssh,一路回车即可,此时执行cd ~/.ssh后执行ls会发现有文件,其中id_rsa.pub就是ssh的存放文件
cat id_rsa.pub 拿到生成的ssh,复制一份
打开github网站,找到settings,找到ssh and gpg keys,选择new ssh key,将复制的ssh填入即可
4-设置name和email
git config user.name/email 查看是否存在设置
git config --global user.name/email yourSelfDefined 设置提交用户名和邮箱
二、创建本地仓库并保存文件变动
git init 初始化本地仓库
新建一个.txt文件,命名为gitLearn
执行git status,你会发现,git帮你检索并返回了你的新增文件
执行git add . ,将新增文件推入暂存区
git commit -m '版本说明' 将新增文件保存到本地仓库(或者:git commit --no-verify -m "版本说明" ,这可以绕开如prettier的代码格式化)
三、与远程仓库关联
git remote add origin gitUrl 关联远程仓库
git push --set-upstream origin master 将本地分支与远程分支关联并更新
四、创建子分支
git branch dev 创建子分支dev
git checkout dev 切换到子分支dev
git push origin dev 将本地分支推送到远程仓库
之后的开发在子分支进行,开发完执行git add + git commit + git push origin dev 即可
五、合并分支
方式一:
git checkout master 切换到主分支
git pull 将远程分支拉取回本地(如果在本地git commit了,也会存在冲突,此时需要先撤销掉本地commit的内容)
git checkout dev 切换到dev分支
git merge origin dev 将master合并至dev
方式二:
git merge origin/master 合并远程master分支
六、解决冲突
git checkout -b temp 创建并切换到分支temp
git push origin temp 将temp分支推送到远程
我们在temp分支上文件.txt
执行git add + git commit + git push origin dev保存
git checkout master 切回主分支,并修改.txt,
执行git add + git commit + git push origin dev保存
git merge temp 合并,此时会报冲突,冲突解决后重新保存并提交即可
git branch -d temp 将分支temp删除
七、回退
回退版本
git reflog 查看版本id
git reset --hard 版本id 回退到指定版本
回退内容
未保存到缓存区
git checkout -- file 对于未执行git add的文件有效
已保存到缓存区
git reset HEAD file 撤销缓存
git checkout -- file 回退到修改前
八、夸分支的临时操作stash
保存
git stash save "注释"
查看
git stash list
取回
git stash pop/apply stash@{索引}
或者
git stash pop index
删除
git stash drop stash@{索引}
或者
git stash drop index
九、远程仓库已有分支和内容,从远程拉取并开发
在本地创建对应分支,开发完毕后提交仓库
网友评论