0

Git 基础命令整理

 2 years ago
source link: https://ssjt21.github.io/2018/08/git%E5%9F%BA%E7%A1%80%E5%91%BD%E4%BB%A4/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Git 基础命令整理

calendar.png2018-08-23 | 阅读:次

整理以下git常用命令


1. 初始化项目目录 git init
2. git add file 添加文件,可以一次提交多个文件
3. git commit -m "描述信息" 提交,并添加说明信息
4. git status 查看当前库的状态
5. 使用 git diff 01.py 能够看到上次的修改
6. git log 查看历史修改记录 ,更好看的使用方法:git log --pretty=oneline
7. HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本,HEAD~100回退到上100个版本
8. 版本回退 git reset --hard HEAD^ 回退到上一个版本
9. git reset --hard id值的前几位即可 ,就可以回退到指定的版本
10. git 回退并不是删除,只是HEAD指针的指向发生变化而已
11. git reflog 和版本回退命令一起使用,相当一次后悔药,git reflog记录每次执行的命令
12. .git文件夹是一个Git的版本库
13.  stage 是git的暂时存储区,也就是使用git add命令时,文件会添加入stage暂存区
14.  git commit 执行时,将暂存区的数据提交到master分支,真正的记录修改,而且暂存区会被清空
15. git的优秀时因为管理的是修改而非文件
16. git commit只负责在stage的提交,不在的就不处理,也就是你你对同一个文件做了一次提交,两次修改,一次在修改发生在提交之前,一次修改发生在修改之后,第一的修改会被记录,而第二次不会被记录
17.  理解什么是工作区,暂存区,以及master,除了 .git文件夹的位置都是工作区
18. 查看工作区和版本库最新版本的区别: git diff HEAD -- 文件名
19. 撤销更改,丢弃工作区的内容 git status 查看后,使用git checkout -- 指定的文件
修改后没有放在暂存区,撤销修改相当于返回到和版本库一样的状态
添加到暂存区又进行修改,撤销修改回到没有修改之前的暂存区状态,总之,就是让这个文件回到最近一次git commit或git add时的状态。
20. git reset HEAD file 可以测修暂存区的修改
21. git rm file 删除文件,然后使用git commit 提交修改
22.  如果误删除可以使用 git checkout -- file 恢复文件
23. 推送到远程库
    1. 远程创建库
    2. git remote add origin [email protected]:ssjt21/learngit.git
    3.  git push -u origin master 推送到远程
4. 之后的推送直接可以使用 git push origin master 

24. 克隆远程仓库,支持多种协议,但是只有ssh协议更加稳定和快速
git clone [email protected]:ssjt21/jsonpcheck.git
25. HEAD指向master ,master指向提交,每次创建一个分支,其实是一个新的的指针,而且HEAD会指向新的分支指针
26. 分支不影响主干,合并分支的操作也就是将master执行分支指针,并且删除分支不影响
27. 创建并切换分支 git checkout -b dev 或者通过以下两步:
git branch dev
git checkout dev
28. git branch 查看说有分支,当前分支前面有个*
29. 切换到主分支 git checkout master,切换之前需要将分支合并到主分支
30. 合并到主分支 git merge dev
31. 合并分支后可以删除分支: git branch -d dev
32. 分支合并有冲突时需要手动解决
33. git log --graph --pretty=oneline --abbrev-commit 查看分支合并情况
34. 合并分支默认使用Fast forward模式,这样如果删除分支后,会丢掉信息
35. 禁用Fast forward模式,git merge --no-ff -m "提示文字" 分支名
36. 干活最好在分支上,而主分子用来发布程序的主版本
37. 保存工作现场 git stash,然后切换到别的分支,最后是费用git checkout 原分支
38. git stash list 查看保存的工作环境
39. 恢复保存分支 git stash applay 需要删除stash内容:git stash drop
40. git stash pop 效果同上面的两个命令
41. git stash list 和 git stash apply stash@{0} 结合用来恢复指定的分支
42. 分支在没有合并到主分子进行删除:git branch -D 分支名称(大写的D)
43.  查看远程库的信息 git remote 或者 git remote -v
44.  创建远程dev分支到本地 git checkout -b dev origin/dev
45. 推送本地分支到远程分支 git push origin dev
46. 如果推送失败是因为被人对远程分子做了修改和更新,你需要拉取最新的分子然后在本地合并后再推送到远程的分支中
47. 拉取远程分子 git branch --set-upstream-to=origin/dev dev, git pull
48. rebase操作可以把本地未push的分叉提交历史整理成直线
49. 创建标签,标签不能移动 git tag tagname
50. 查看标签 git tag
51. 对指定commit id打标签 git tag tagname id
52. 标签排序是按照自字母
53. 查看标签的信息 git show  tagname
54. 创建带有说明的标签 git tag -a tagname -m “说明” id
55. 标签删除 git tag -d tagname
56. 推送标签到远程 git push origin tagname
57. 推送所有标签 git push origin --tags
58. 删除远程标签,先删除本地,然后本地推送到远程 git push origin:refs/tags/tagname

59. 删除远程仓库 git remote rm origin


推荐阅读:

转载请注明:随时静听的博客 » 点击阅读原文


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK