我的网址:https://github.com/Coca-ola
关于这个自学的git啊,最大的难度就是看不懂英文界面了,虽然正常的git内容也没怎么看懂,还是大概了解了一些,只看了一些基础的知识,因为.....不知道为什么软件下载不下来,可能我的校园网实在是太太太太太慢了哈哈哈哈哈
下面分享一些看到的基础:
创建本地的版本
mkdir testGit # 创建工作文件夹
cd testGit # 进入该文件夹
pwd # 查看当前路径
/e/GitRepository/test/testGi
git init # 通过该命令把当前目录变成Git可以管理的仓库
通过执行git init
命令,就把所创建的testGit
目录变成了一个git版本库,此时目录下会多出一个.git目录,该目录用来管理版本库,不要轻易修改
添加文件至暂存区
$ touch example.txt # 创建一个txt文件
$ git add example # 将该文件加入到暂存区
查看工作区状态
$ git status
查看日志
$ git log
$ git log --graph --pretty=oneline --abbrev-commit # 以图形化显示日志
移除
$ rm example.txt # 只移除工作区文件,需要重新add -- commit
$ git rm example.txt # 同时移除工作区和已暂存文件
撤销
$ git checkout --example.txt # 在未提交至暂存区时,撤销前一次工作区的修改
$ git reset HEAD example.txt # 撤销前一次添加至暂存区的文件,回到未跟踪状态
分支的建立
$ git checkout -b testBranch # 创建并切换至分支testBranch
$ git branch testBranch # 创建分支testBranch
$ git checkout testBranch # 切换至分支testBranch
$ git branch # 查看当前分支,当前分支带有星号
分支的合并
$ git merge testBranch # 默认采用快速合并的方式(只有指针移动,不记录)
$ git merge -no-ff -m "备注信息xxx" # 不采用快速合并的方式
分支的删除
$ git branch -d testBranch
挂起和恢复git提供一个功能,在工作未完成又不想提交时(以免为自己或者协作者埋雷),可以采用如下命令,将目前的工作环境 "挂起",等忙完以后再回到该分支继续工作。
$ git stash # 挂起工作环境
$ git stash list # 查看被挂起的工作
$ git stash apply # 恢复但是不删除stash,还可以查看
$ git stash pop # 恢复并删除
$ git stash apply/pop stash@{0} #恢复list中的指定stash@{0}
创建和管理标签
$ git tag v1.0 # 创建一个名字叫v1.0的标签
$ git tag # 查看
删除标签:
$ git tag -d tag_name # 删除标签
基于远程的Git管理
添加和移除远程库:
$ git remote # 查看当前库的远程仓库,本地库默认无,从远端克隆的库默认为origin
$ git remote -v # 查看远程仓库的详细信息
$ git remote add [Remote_name] https://github.com/zhengyajun/test.git # []内为名字,任取。
# git支持多种协议,推荐使用https,ssh需要额外配置,会在后文提到。
从远程克隆版本库:
$ git clone https://github.com/zhengyajun/test.git # 同上,github提供ssh和https,初学推荐https
从远程抓取数据:
$ git fetch [Remote_name] [Branch_name] # []内为要抓取的远程主机名,默认origin,只抓取不合并,此时以分支‘origin/master’呈现
$ git checkout -b newBranch origin/master # 利用抓取的数据构建一个新的分支
$ git merge origin/master # 在本地分支上合并远程分支,以远程库为origin为示例,以下同
$ git rebase origin/master # 功能同merge,不同在于不记录分支的改变
$ git pull [Remote_name] [Branch_name] # 抓取并自动合并文件
向远程推送数据: