
0. Windows下安装使用参考网址Window下git下载及安装教程_darendu的博客-CSDN博客Git下载与安装windows-CSDN博客windows下GitHub的安装、配置以及项目的上传过程详细介绍 - 江湖乄夜雨 - 博客园1. 如何开始a. 在github上注册一个账号。b. 绑定第 1 步生成 SSH keyssh-keygen -t rsa表示我们指定 RSA 算法生成密钥然后敲三次回车键期间不需要输入密码之后就就会生成两个文件分别为id_rsa和id_rsa.pub即密钥id_rsa和公钥id_rsa.pub. 对于这两个文件其都为隐藏文件默认生成在以下目录Linux 系统~/.ssh第 2 步在github的个人主页上的设置中添加 SSH key我们只需要将公钥id_rsa.pub的内容粘贴到Key处的位置Titles的内容不填写也没事然后点击Add SSH key 即可。第 3 步验证绑定是否成功。在我们添加完SSH key之后也没有明确的通知告诉我们绑定成功啊不过我们可以通过在 Git Bash 中输入ssh -T gitgithub.com进行测试2. 创建第一个repositorya. 在github上创建一个repositoryb. 在本地创建一个repository第1步创建一个同名文件夹并增加一个文件假设为hit.txt第2步在当前目录下输入如下命令git init第3步使用git add hit.txt注意这步是将修改加入临时库第4步git commit -m text commit注意这步是将修改加入本地库引号里面的信息可修改第5步git push origin master将修改传到远程库若上传不成功可使用git push --set-upstream gitgithub.com:UserID/GitID.git master。或使用如下两步替换git remote add origin gitgithub.com:UserID/GitID.git以及git push -u origin master3. 修改仓库的名字a.Github页面修改仓库信息跑到自己的仓库那,找到Setting的tag, 点进去后Options的Settings就可以设定Repository name.b.修改本地仓库信息git remote -v列出所有远程仓库信息, 包括网址.若上一步无显示信息则使用git remote add origin gitgithub.com:username/newrepo.git否则使用git remote set-url origin gitgithub.com:username/newrepo.git修改远程仓库对应的网址.【如果owner非自己的Repositoryusername也不能用自己的ID】4. 使用他人代码除第一次下载项目需要通过 “git clone 地址” 将项目克隆到本地外,后续再使用 “git pull origin master” 命令时会直接将更新拉取到本地。若是自己或合作者的私有库则使用git clone https://usernamegithub.com/username/repo_name5. 删除远程库的文件使用“git rm -r --cached 文件名”然后push就会更新6. 分支创建分支git branch 分支名删除分支git branch -d 分支名切换分支git checkout 分支名若切换本地不存在的远程分支git branch -a #查看分支 git checkout -b new-branch origin/new-branch #Git 2.23后推荐git switch origin/new-branch第一次push分支若遇到“fatal: origin does not appear to be a git repository”则使用git remote -v查看是否有origin没有需要使用git remote add origin git-url来增加然后使用git push -u来操作。查看不到远程分支先使用git remote -v查看是否有origin没有需要使用git remote add origin gitgithub.com:username/newrepo.git来增加然后git fetch origin --prune来获取远程分支7. 子模块参见如下网址https://blog.csdn.net/guotianqing/article/details/82391665增加git submodule add url path其中path为放置子模块的路径默认为仓库的顶层目录下使用git submodule init和git submodule update更新进入到子模块目录下执行 git pull更新删除删除子模块较复杂步骤如下rm -rf 子模块目录 删除子模块目录及源码vi .gitmodules 删除项目目录下.gitmodules文件中子模块相关条目vi .git/config 删除配置项中子模块相关条目rm -rf .git/modules/* 删除模块下的子模块目录每个子模块对应一个目录注意只删除对应的子模块目录即可执行完成后再执行添加子模块命令即可如果仍然报错执行如下git rm --cached 子模块名称完成删除后提交到仓库即可。8. 显示当前修改使用git diff如果要不显示空格、换行等空白符号可使用git diff --ignore-space-change不同版本的修改git diff 版本号 -- 文件名9. 恢复错误9.1 恢复当前误删文件使用git status找到误删文件的路径和名称用git checkout 路径名称进行恢复。9.2 恢复误push版本第一步git reset --hard 版本号无版本后默认退回到上一个版本第二步git push -f也可以用HEAD表示当前版本上一个版本就是HEAD^上上一个版本就是HEAD^^当然往上100个版本写100个^比较容易数不过来所以写成HEAD~100。注意--hard无法保留本次文件修改若要保留可使用--soft或--mixed替代区别在于前者不能撤销git add后者能如果你的代码已经git push到了公共分支直接使用reset --hard并强推git push -f可能会破坏别人的代码库。建议使用revert来反向生成一个新的 Commitgit revert e77f5006..HEAD git push9.3 恢复误reset版本第一步git reflog找到版本号第二步git reset --hard 版本号9.4 更正上一次错误的commit信息第一步git commit --amend第二步git push -f9.5 取消当前修改git stash可用于临时暂存修改后期可以使用git stash apply恢复之前暂存的修改10. 合并git pull 强制覆盖本地的代码方式下面是正确的方法第一步git fetch --all从远程下载最新的而不尝试合并或rebase任何东西。第二步git reset --hard origin/master或git reset --hard origin/branch_name将分支重置为您刚刚获取的内容 --hard选项更改工作树中的所有文件以匹配origin/master中的文件。11. 查看单个文件的修改查修改的版本号“git log --prettyoneline 文件名”显示某个版本下的修改“git show 版本号 文件名”【待续】