Git
ssh key
- 查看是否已经有了ssh密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除 - 生存密钥:
$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”
按3个回车,密码为空。
Git
git checkout -b lk //创建并切换至分支
git branch -d lk //删除分支,只能删除已经参与了合并的分支,对于未有合并的分支是无法删除
git status 查看冲突状态
git mergetool,它会调用一个可视化的合并工具并引导你解决所有冲突
git fetch origin 来同步远程服务器上的数据到本地
git merge [name] —-将名称为[name]的分支与当前分支合并
git checkout filePath //没有commit的修改会直接回滚掉,回滚单个文件
git commit -a -m "message" //提交修改,新增文件不会提交
git add filePath //将单个文件加入待commit
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db
$ git config --global core.ignorecase false
否则提交文件时,可能出现 Windows是大写目录名,提交到git服务器后变成小写的目录名。
$ git config core.ignorecase false
$ git config --list|grep ignorecase
core.ignorecase=false
core.ignorecase=false
git config --global user.name "myName"
流程
- git init
- git clone
- modify files
- git status---->增加的add--->需要修改的commit---->不需要的修改的git checkout回滚
- git push 提交到远程库(远程库有更新需要先pull)
冲突处理
======= 隔开的上半部分,是 HEAD(即 master 分支,在运行merge 命令时所切换到的分支)中的内容,下半部分是在主分支中的内容。
修改后需要commit。
push失败
考虑rebase,git-rebase命令主要用在从上游分支获取最新commit信息,并有机的将当前分支和上游分支进行合并。
I am a slow walker, but I never walk backwards.