Git学习

Git学习

  1. git clone url.git

  2. git remote add url.git

  3. git status // 查看工作区代码相对于暂存区的差别

  4. git pull origin master

  5. git add :将要提交的文件的信息添加到索引库中(将修改添加到暂存区)

    $ git add .  # 将所有修改添加到暂存区
    $ git add *  # Ant风格添加修改
    $ git add *Controller   # 将以Controller结尾的文件的所有修改添加到暂存区
    
    $ git add Hello*   # 将所有以Hello开头的文件的修改添加到暂存区 例如:HelloWorld.txt,Hello.java,HelloGit.txt ...
    
    $ git add Hello?   # 将以Hello开头后面只有一位的文件的修改提交到暂存区 例如:Hello1.txt,HelloA.java 如果是HelloGit.txt或者Hello.java是不会被添加的原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接:https://www.yiibai.com/git/git_add.html
    
    
  6. git commit -m “xxx” // 将缓存区内容添加到本地仓库

  7. git push origin master 将本地版本库推送到远程服务器,origin是远程主机,master表示是远程服务器上的master分支,分支名是可以修改的

  8. add/commit/push

    Add命令是把文件从IDE的工作目录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到当前分支的仓库,并清空stage区。Push命令把本地仓库的提交同步到远程仓库

  9. git config --list :查看git配置信息

  10. git config --global user.name “xxx”
    git config --global user.email “xxx”

  11. 撤销之前push错的文件

    • 本地先删除
    • git add 删除的文件
  12. Git 忽略规则匹配语法

    • 空格不匹配任意文件,可作为分隔符,可用反斜杠转义

    • # 开头的文件标识注释,可以使用反斜杠进行转义

    • ! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义

    • / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件

    • / 开始的模式匹配项目跟目录

    • 如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录

    • ** 匹配多级目录,可在开始,中间,结束

    • ? 通用匹配单个字符

    • [] 通用匹配单个字符列表

  13. 常用匹配示例

    • bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
  • /bin: 忽略根目录下的bin文件
    • /*.c: 忽略 cat.c,不忽略 build/cat.c
  • debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
    • **/foo: 忽略/foo, a/foo, a/b/foo等
  • a/**/b: 忽略a/b, a/x/b, a/x/y/b等
    • !/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件
  • *.log: 忽略所有 .log 文件
    • config.php: 忽略当前路径的 config.php 文件
  • .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
  1. **git rm -r --cached filename ** 跟踪取消

    把文件从git中拿出来,不再进行版本跟踪,但保留工作区的文件,去掉已经托管的文件

  2. git checkout filename 恢复某个已修改的文件,拉取暂存区文件 并将其替换成工作区文件

    #撤销WorkSpace中的更新,将Stage的文件提取覆盖当前文件(撤销后无法找回)

  3. revert 还原已提交的修改

    Revert 撤销一个提交的同时也会重新创建一个提交。这是一个安全的方法,因为它不会重写提交历史。比如,下面的命令会找出倒数第二个提交,然后创建一个新的提交来撤销这些更改,然后把这个提交加入项目中。
    相比git reset,它不会改变现在的提交历史。因此,git revert可以用在公共分支上,git reset应该用在私有分支上
    
    • git revert HEAD 还原最近一次修改

    • git revert commit -id 还原指定版本的修改

  4. git reset

    • git reset --hard [版本号] 彻底回退版本,连本地文件都会被回退到上个版本的内容

git 图解本地工作区·缓存区·本地仓库·远程仓库

GitHub客户端的使用

  • uodo 撤销commit的一个版本,不会留下历史记录

  • revert 撤销commit的一个版本,会留下历史记录

  • roll back 回滚但某一版本

合并分支
  • merge

  • rebase

Github Flow
  • 协作开发
    1. add collaborator
    2. [cerate branch]
    3. pull request
    4. merge
  • 开源贡献
    1. fork一个开源项目
    2. 修改后,pull request,发起讨论
    3. 拥有者merge
Github pages
  • User site
  • Project site
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值