0, 本地 Git 的安装
官网下载
1,Git 配置
Git config user.name 查看 用户名
Git config user.email 查看 邮箱
Git config --global user.name <name> 修改 用户名
Git config --global user.email <email> 修改 邮箱
SSH-keygen -t rsa -C "[email protected]" 创建 SSH key [可以填写任意值作为注释 key, 例如邮箱]
SSH -T [email protected] 测试该 SHH key 已添加到 gitee.com[码云]
2, 创建版本库
Git init 初始化本地版本库 [创建一个 .Git 的子目录]
Git init [project-name] 新建一个目录, 并将其初始化为 Git 代码库;
Git clone <url> 克隆远程版本库;
3, 修改和提交
Git status 显示文件的状态 [红色表示被修改没提交到暂存区, 绿色代表已提交到暂存区;]
Git status -s 以极简的方式显示文件的状态 [红色的 M 表示被修改没提交到暂存区, 绿色的 M 代表已提交到暂存区;]
Git add 将文件从工作目录添加至暂存区;
Git add -u | --update 仅将被修改的文件添加至暂存区 (不包含新添加的文件);
Git add . 将被修改的文件 和 新添加的文件提交到暂存区 (不包含已经删除的文件);
Git add -a 将本地所有修改的内容添加至暂存区 (包含新添加的 和 已经删除的);
Git commit 将暂存区的修改提交到本地仓库, 同时生成一个 commit-id;
Git commit -m <message> 将暂存区修改提交到本地仓库
Git commit -a -m <message> 将工作区的修改提交到本地仓库 [相当于 Git add + Git commit]
Git commit -amend 修改上一次提交 [代码没有任何变化, 则修改提交信息]
4, 分支操作
Git branch
Git branch 列出所有本地分支
Git branch -r 列出所有远程分支
Git branch -a 列出所有本地和远程分支
Git branch [branch-name] 新建一个分支, 仍停留在当前分支
Git branch -m <nameA> <nameB> 将分支 nameA 改名为 nameB
Git branch -d [branch-name] 删除分支
Git checkout
Git checkout [branch-name] 切换到指定分支
Git checkout -b [branch-name] 新建一个分支, 并切换到该分支
Git checkout - 切换到上一个分支
Git merge
Git merge [branch-name] 合并指定分支到当前分支
5, 远程操作
Git fetch 将远程主机上所有分支的更新取回本地, 并记录在 .Git/FETCH_HEAD 中;
Git fetch <remote-name> 下载远程仓库的所有变动;
Git fetch <remote-name> master:test 在本地新建 test 分支, 并将主机上 master 分支代码下载到本地 test 分支;
Git remote
Git remote -v 显示所有远程仓库
Git remote show <remote-name> 显示某个远程仓库的信息
Git remote add <remote-name> [ url ] 增加一个新的远程仓库 并命名
Git pull
Git pull < 远程主机名 > < 远程分支名 > : < 本地分支名 > 取回远程仓库某个分支的更新, 并与本地分支合并
Git pull origin dev: master 取回远程主机的 dev 分支, 与本地的 master 分支合并
Git pull origin dev 相当于以下两个命令:
Git fetch origin 获取远程主机上所有分支的更新
Git merge origin/dev 与当前分支合并
Git push
Git push < 远程主机名 > < 本地分支名 > : < 远程分支 > 上传本地指定分支到远程仓库的指定分支
省略远程分支名, 表示将本地分支推送到与之存在 "追踪关系" 的远程分支, 通常两者同名, 后者不存在, 将会被创建;
省略本地分支名, 表示删除指定的远程分支 [这相当推送一个空的本地分支到远程分支] ;
Git push origin master 将本地的 master 分支推送到 origin 主机的 master 分支 [后者不存在, 将会被创建]
Git push origin : master 删除 origin 主机的 master 分支;[相当于 Git push origin --delete master]
6, 撤销修改
撤销工作区的修改: [文件修改之后撤销]
Git checkout -- file 恢复暂存区的指定文件到工作区
Git checkout . 恢复暂存区的所有文件到工作区
撤销暂存区的修改: [Git add 之后]
Git reste HEAD <file>
版本回退 :
Git reset --hard <commit_id>
Git log 查看提交历史, 确定回退到那个版本;
Git reflog 查看历史命令, 确定回到未来的版本;
来源: http://www.bubuko.com/infodetail-3439086.html