git原理图解一文就够了 git概念与操作详解 用GitBash连接本地和GitHub bash上操作Git详细教程与概念 Git 少用 Pull 多用 Fetch 和 Merge 关于git的分支 git免密码登陆(一次写入文件) GitHub上README.md教程 国内github访问加速 gitlab通过公私钥登录 强制找回gitlab管理员密码 如何访问GitHub更快 CentOS7.5安装GitLab及汉化
1)初始化并用GitBash连接本地和GitHub
设置用户名和邮箱 (识别操作者) git config --global user.email "you@example.com" git config --global user.name "Your Name" 生成公钥 1) ssh-keygen -C ‘your@email.address’ -t rsa (验证密码确认有向网站提交的权限) 2) 去github网页相应位置粘贴rsa.pub 中的内容 网站位置:Settings -- SSH ang GPG keys -- New SSH key -- Add SSH key 把本地项目上传到GitHub 进入本地文件 cd ~/Desktop/filename 2)把该文件夹变成Git可管理的仓库 git init 3)把项目添加到仓库 git add . 4)把项目提交到仓库 git commit -m "注释内容" 5)在GitHub上创建仓库并与本地仓库关联 git remote add origin https://github.com/yourname/filename.git git remote add origin git@github.com:yourname/filename.git 6)如果在创建仓库时同时创建了readme文件,要先将内容合并 git pull --rebase origin master 7)把本地库的所有内容推送到远程仓库 git push -u origin master下一次继续往该仓库推送文件则可以省略-u命令: git push origin master 8) 把远程项目克隆到本地 选择一个空文件夹,鼠标右键选择git bash here 在终端输入命令 git clone + 自己Git库的地址
2) Git 远程强制推送: git push origin master --force
3) 强制更新覆盖本地:
git pull 时出现冲突 放弃本地修改,使远程库内容强制覆盖本地代码
git fetch --all //只是下载代码到本地,不进行合并操作
git reset --hard origin/master //把HEAD指向最新下载的版本
4)git 回退上一版:git reset --hard HEAD^ 上2版:git reset --hard HEAD^^ 上100版:git reset --hard HEAD~100
5)Git 少用 Pull 多用 Fetch 和 Merge :pull可能造成用远程内容直接覆盖本地工作区;用git fetch先从远端取回代码到本地仓库,再用git merge将本地仓库和工作缓存区合并,如果中间有版本变化他会区别出来。(此处待完成考证)
6)如果提交commit太多,需要清理可以回到某个提交点(git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96 ; 然后git push -f 强制推送)再将原来备份的类容加到之前的文件版本中,再提交修改,这样以前过多的提交都清除了。如果删除某个commit:(git rebase -i “commit id”^ ;wq保存;再git push -f )
7)关于git分支的操作
查看分支:git branch 显示本地分支 ('git branch -a' #显示git所有分支,包括远程) 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <name1>(需在分支外合并,不能在name1合并自身) 删除分支:git branch -d <name> (需在分支外删除,否则不能删除自身)git branch -d -f <分支name> 强制删除分支
舍弃当前操作,强制切换到主分支: git checkout -f master