git 基本操作命令

参考学习于廖雪峰的git教程--https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


git config user.name 使用者name

git config user.email 使用者email

1. git init  初始化git仓库

2. git status 查看仓库当前的状态

3. git diff

    .暂存区有文件的时候,查看工作区和暂存区的差别

    .暂存区没有文件的时候,查看工作区和上次提交到版本库中的文件的差别

    .git diff HEAD --readme.txt 查看版本库中readme.txt文件和工作区中的readme.txt文件的区别

    HEAD指向版本库中的当前版本

4. git add  文件修改提交到暂存区

5. git commit 提交更改,即把暂存区的内容提交到当前分支(参数 -m 后面跟备注)

6. git log 查看历史提交记录,后面有很多参数可用,比如 --pretty=oneline(每个提交信息单行显示)

7. git reset --hard HEAD^ (回退到上一个版本,HEAD^^回退到上上个版本,HEAD~100回退到前100个版本)

  git reset --hard 1e650aa (1e650aa是提交版本的哈希,回到哈希值为1e650aa的版本)

  git reflog  记录每次操作的命令,可用获得各个版本的哈希值

8. git checkout --readme.txt 把工作区的修改全被撤销,即,让这个文件回到最近一次git commit 或者 git add 后 的状态

9. git reset HEAD readme.txt 把暂存区的修改全部撤销掉,重新放回工作区

10. 远程仓库 

    创建ssh key $ ssh-keygen -t ras -C "[email protected]",使用默认值就可以了

    在用户目录中找到.ssh目录 id_rsa.pub是公钥

    在github中的SSH key中 在文本框里粘贴id_rsa.pub的内容

    本地仓库和github仓库关联,本地仓库运行 $ git remote add origin [email protected]:kevinJser/gitstudy.git (后面的为github上仓库的ssh地址)

11. git push origin master 提交推送 向远程仓库origin推送master分支

12. git clone ......  克隆

13. git checkout -b dev  创建分支dev

    相当于两步操作 git branch dev    git checkout dev

14. git branch 查看当前分支

15. git merge dev  合并指定分支到当前分支 (Fast-forward,快进模式) 也就是直接把master指向dev的当前提交

16. git branch -d dev  删除dev分支

17. 合并冲突解决, 本地修改后 git add ...  git commit ... 最后删除临时分支

18. 强制禁用Fast forward模式合并(Fast forward模式下,删除分支后,会丢掉分支信息)

    禁用后,git会在merge时生成一个新的commit,这样就可以从分支历史上看到分支信息

19. bug分支,由于git中分支功能的强大,因此,每个bug都是可以通过一个新的临时分支来修复,修复后合并分支,然后删除临时分支

20. git stash 储存当前的工作,当工作未完成,需要切换到其他分支处理事务的时候,可以先把当前工作内容存储起来

    git stash list 查看存贮的工作内容。

    git stash apply stash@{0}(这个是 git stash list 中查看到的存储内容地址) 恢复工作内容,后面需要使用

    git stash drop  来删除保存的工作内容

    git stash pop 恢复的同时也把stash内容删除了

21. feature分支(实验性分支,比如添加新功能的时候写的一些实现新的代码),完成后合并删除

    git branch -D feature 强制删除feature分支,没有合并过的分支无法普通删除,只能强制删除

22. git remote 查看远程仓库

    git remote -v 详细信息

23. 当推送失败的时候,一般是因为和远程仓库有了冲突(比如,你的工作伙伴也修改了你推送的那个分支,并且已经推送到了远程仓库中)

    这时候,需要先pull下来,然后在本地合并,解决冲突.

24. git pull 的时候需要指定本地分支和远程仓库分支的链接

    git branch --set-upstream dev origin/dev,然后再git pull

    然后就是手动解决冲突,然后再push

25. git tag v1.0 为当前分支打上标签

    git tag 查看当前分支的标签

    要为之前的commit打标签:

    git log --pretty=oneline --abbreve-commit 查看各个commit的哈希号

    git tag v0.9 commit号

    git tag 展示出来的标签不是按照时间顺序列出,而是按照字母排序

    git show v0.9  查看标签信息

    git tag -a v0.1 -m "version 0.1 released" commit号

    git tag -d v0.1 删除标签

    git push origin

    git push origin --tags 推送所有尚未推送到远程的本地标签

    删除远程标签:

    git tag -d v0.9 先本地删除

    git push origin :refs/tags/v0.9 从远程删除

26. 忽略特殊文件

    https://github.com/github/gitignore

    忽略原则:

        1. 忽略操作系统自动生成的文件,比如缩略图等。

        2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另外一个文件自动生成的,

          那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件。

        3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

    git add -f App.class 强制添加到GIT, 因为gitignore的原因可能一些文件被忽略,这样可以强制添加。

    git check-ignore -v App.class 检查

你可能感兴趣的:(git 基本操作命令)