Git

作者: DragonRat | 来源:发表于2018-05-18 19:09 被阅读0次

    git是分布式的版本控制。文件分三种状态:已修改、已暂储、已提交

    安装git(git基于Linux 自带bash环境)

    进入项目根目录--右键--git bash here--cd 项目根目录(bash环境)--git init(会初始化一个.git的隐藏文件(仓库)(已暂存和已提交的文件都在该仓库中))
    git add xxx.html(放入暂存区)
    git add xxx.html css/xxx.css js/xxx.js (可以同时添加多个文件夹/文件,中间用空格隔开)
    git commit -m '这是备注信息' (提交。-m表示备注mark)(经过一个较长阶段开发或者一个功能开发完成,可以将暂存区中的内容一次性提交到仓库中(永久保存))
    git commit -amend打开编辑器纠正错误
    git rm -rf --cached从缓存中删除

    配置用户(当前用户,记录开发者信息):

    git config --global user.name zhangsan(配置用户名)
    git config --global user.email 12345@qq.com
    git config --list (查看配置信息。打开"c:/用户/zhang/.gitconfig"文件也可以查看)
    git config --global alias/unset 创建/删除快捷方式
    git log(查看提交日志;版本号(存盘点))
    git log --oneline --graph图形输出
    git status(查看文件状态(绿颜色表示已add到暂存区,红颜色表示工作区中的文件夹/文件未add到暂存区))(会自动忽略空文件夹)
    git add -A(添加所有目录和文件到暂存区 -A表示all(大写A))
    git add * (同上)
    git reset --hard 16f5b2e100529le16f5b2e100529le (从仓库中还原某个版本;版本号(存盘点)可以通过"git log"命令查看)
    git reset --soft 。。。。。。。。。。。。。同上,有不同的地方
    git rebase 变基
    git stash list
    git stash apply 取出
    git stash drop 删除
    git stash drop 取出并且删除

    分支(分支与分支之间互不影响。必须先commit一次才会产生master分支)(一个分支可能表示一个功能模块。分支可以允许一个人开发多个模块)

    git checkout xxx.html (切换工作区)
    git branch 分支名 (新建分支)
    git branch (查看分支。*号所在的分支表示当前分支)
    git checkout 分支名 (切换分支)
    git checkout -b 新分支名 (新建分支,并将当前分支内容检出到新分支中(新建分支+检出的简写方式))(常用)
    git branch -d 分支名 (删除分支,-d表示delete)(-D表示强制删除) (不能删除当前分支,需要切换到其他分支删除)
    git merge 其他分支名 (分支合并。其他分支重新修改过的内容合并到当前分支(可能会冲突))
    分支是有继承关系的。新建分支时,新建的分支会继承当前分支的内容(包括所有已提交的版本号)。修改当前的分支不会影响已经创建好的分支(分支之间互不影响),多个分支之间最后需要git merge进行分支合并。
    HEAD表示一个指针,指向当前分支。(HEAD表示当前分支)

    远程共享仓库(多个开发者)

    git push 远程仓库地址 master (将本地master分支共享到远程仓库的master分支)
    git push 远程仓库地址 本地分支:远程分支
    git push zhangsan@192.168.1.2:/home/zhangsan/xxx.git master
    git pull 远程仓库地址 master (将master下载到本地)
    git pull zhangsan@192.168.1.2:/home/zhangsan/xxx.git master

    远程共享仓库中: 必须是一个 xxx.git结尾的文件夹

    git init --bare (必须是一个裸仓库。初始化裸仓库前先"cd xxx.git")
    git remote add 别名 zhangsan@192.168.1.2:/home/zhangsan/xxx.git (为远程主机名取一个别名)
    git remote (查看远程主机别名)
    git remote 别名 show (查看远程主机别名对应的具体地址)
    git pull 别名 master (通过别名下载到本地)
    git clone 远程仓库地址 === mkdir 目录 + cd 目录 + git init + git pull (会默认为远程主机名取一个别名:origin)
    git clone zhangsan@192.168.1.2:/home/zhangsan/xxx.git 自定义仓库名 (可以克隆远程仓库到本地,并自定义仓库名)
    gitHub/gitLab 就相当于远程共享仓库服务器 (先注册账户,新建一个仓库(私有的仓库要收费))
    ssh-keygen -t rsa (在本地生成gitHub ssh连接的公钥/私钥 实现免密码登陆)
    打开保存在本地的公钥:"c:/用户/zhang/.ssh/id_rsa.pub" 全选--复制--gitHub注册账户--右上角头像--Settings--SSH and GPG keys--粘贴到Key中--Key最后的"Zhangsan@Zhangsan-PC"粘贴到Title中--Add SSH key
    以上两行实现免密码远程登录gitHub服务器仓库。
    git push git@github.com:Zhangsan/xxx.git master (Zhangsan是gitHub网站注册的账号,xxx.git是账号新建的仓库)
    git clone git@github.com:Zhangsan/xxx.git 自定义的仓库名

    github项目基本操作说明

    -->fork项目
    -->git clone http克隆项目
    -->cd 到项目
    -->git romote添加上游+上访地址
    -->git romote -v 查看上下游
    -->git pull up master 拉去最新的代码
    -->git checkout -b 'new....'创建新的分支
    ->subline -text修改代码
    -->add commit 提交代码
    -->切到checkout master
    -->再次下载新代码pull up master
    -->切到分支 测试
    -->git rebase master ->log
    -->切到master ->log
    --> 切到分支
    -->git rebase master
    -->git push aringe 分支

    相关文章

      网友评论

        本文标题:Git

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