美文网首页
Git 常用命令(2018-03-30)

Git 常用命令(2018-03-30)

作者: 小的小碰撞 | 来源:发表于2018-04-04 15:38 被阅读0次

    参考廖雪峰的官方网站

    常用命令

    • mkdir 创建目录
    mkdir test
    
    • pwd命令用于显示当前目录
    • 返回上一级目录cd ..

    git 本地仓库关联远程仓库

    • 使用命令git remote add origin git@server-name:path/repo-name.git
      • origin git@server-name:path/repo-name.git 改换成自己远程仓库的路径
    • git fetch 查询分支
    • git branch --set-upstream-to=origin/remote_branch your_branch
      • 其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。
    • (执行之上不能解决 在执行此)关联第一次推送master分支所有内容使用:git push -u origin master
    • 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
    • 注: 如果出现如下错误
    [root@linux1 php]# git push -u origin master  
    To git@github.com:kangvcar/Results-Systems--PHP.git  
     ! [rejected]        master -> master (fetch first)  
    error: failed to push some refs to 'git@github.com:kangvcar/Results-Systems--PHP.git'
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing 
    hint: to the same ref. You may want to first merge the remote changes (e.g.,  
    hint: 'git pull') before pushing again. 
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    
    
    
    • 原因:GitHub远程仓库中的README.md文件不在本地仓库中。
    • 使用--rebase 参数然后再重新 push 一次即可
    git pull --rebase origin master 
    git push -u origin master
    或者
    git push -f  
    

    git 常用命令

    git init
    
    //配置信息
    git config user.name manage
    git config user.email manage@163.com
    
    //添加项目
    git add .
    
    // 提交项目
    git commit -m "注释"
    
    // 推送 下拉 项目
    git push
    git pull
    
    //查看所有版本库日志
    git log
    git reflog
    
    
    

    版本合并

    • git merge 命令用于合并指定分支到当前分支。
    • --no-ff 表示禁用Fast forward
    git merge 
    
    Fast forward 模式,表示删除分之后,会丢掉分支信息。
    如果要强制禁用Fast forward 模式,Git 就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
    
    // 第二种合并分支的方法
    git merge --no-ff -m "merge with no-ff" dev
    -m 参数表示 提交的内容  dev 代表的分支
    准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:
    

    删除本地分支

    • git branch -d 分支名

    拉取远程分支并创建本地分支

    git checkout -b 本地分支名 origin/远程分支名
    

    版本回退

    //回到当前版本,放弃所有没有提交的修改
    git reset --hard HEAD
    
    //回到上一个版本
    git reset -- hard HEAD^
    
    // 回到之前第3个版本
    git reset --hard HEAD~(3)
    
    // 回到指定版本
    git reset --hard 版本号
    

    回到根目录 查看所有分支

    cd ~
    
    git branch -a
    

    Git忽略规则和.gitignore规则不生效的解决办法

    • Git忽略规则:
      在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

    #此为注释 – 将被 Git 忽略

    *.sample    # 忽略所有 .sample 结尾的文件
    !lib.sample    # 但 lib.sample 除外
    /TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括subdir/TODO
    build/    # 忽略 build/ 目录下的所有文件
    doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

    • .gitignore规则不生效的解决办法
      把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
    git rm -r --cached .
    git add .
    git commit -m 'update .gitignore'
    

    相关文章

      网友评论

          本文标题:Git 常用命令(2018-03-30)

          本文链接:https://www.haomeiwen.com/subject/juxicftx.html