参考
基本概念:
工作区 -> 暂存区(staged) -> 版本库
HEAD相当于头指针,指向最新的版本库的分支
前置操作:
git config --global user.name XXX
git config --global user.email XXX@XX
○ 将信息记录在 ~/.gitconfig
常用命令:
1. git init:将当前的文件夹创建为仓库
§ 新建了.git的隐藏文件
2. git status:查看仓库状态
3. git add XXX:将XXX文件添加到暂存区
§ git add . :就所有管理文件添加到暂存区的快捷方式
§ 文件的删除同样 : git add delete.txt
4. git commit -m "备注":
® 将暂存区 -> 版本库当前分支
® 暂存区清空
® head向后移
5. git diff XXX :查看工作区与暂存区XXX文件的区别
6. git rm --cached XXX: XXX文件从暂存取撤出
7. git restore --staged XXX: XXX文件撤销add
8. git log :查看当前分支的所有版本
® 输出版本由下到上
® 一页显示不了会进入类似命令模式,按q退出
® git log --pretty=oneline 每个版本占一行输出
9. git reset --hard HEAD^ // git reset --hard HEAD~
® 向前回滚^个数版本
® 此时的文件已成当时的状态
® 回滚不会删除新版本
1) git reset --hard HEAD~100 :向上回滚100个版本
2) git reset -- hard 版本号(16进制)
10. git reflog:
® HEAD的移动记录
® 输出顺序由下到上
11. git restore XXX :
® XXX回滚到暂存区的状态
® 如果暂存区为空则恢复到HEAD指向的版本
• 多分支操作:
12. git checkout -b 分支名:创建并切换到该分支
13. git branch name:仅创建该分支
14. git chackout 分支名:回到输入分支
15. git branch:查看所有分支和当前所处的(*)分支
16. git merge name:将name合并到当前分支上
§ 发生冲突时,两种都会添加到文件
17. git branch -d name:删除本地仓库的name分支
• 远程仓库操作
17. git remote add origin 地址
§ 将本地仓库关联到远程仓库
18. git push -u origin 分支名(主分支master)
§ 将当前分支推送到远程仓库
§ 只有第一次需要-u,以后不需要
§ 与云端不同分支时,直接将报错后给的命令输入即可
19. git push origin branch_name:将本地的某个分支推送到远程仓库
20. git push -d origin branch_name:删除云端该分支
21. git clone 地址 :
® 从远程仓库上复制下来
® reflog消失
® log结点仍有
22. git push --set upstream origin name:将当前name分支对应到云端
23. git pust --set-upstream-to=origin/name1 name2:将云端name1对应到name2
24. git pull :将云端当前分支与本地当前分支合并(将云端分支拉到本地)
§ git pull name:将云端的name分支合并到当前分支
25. git stash:将工作区和暂存区中尚未提交的修改封装起来
26. git stash pop:取出保存的修改
27. git stash list:查看栈中所有元素
批注
• rm -f 不需要确认操作
• 远程git上需要ssh公钥
• 从acgit克隆到服务器的过程同样是需要把服务器的公钥添加到acgit上
过完年不仅忘记学习,连保存笔记都忘了