本文共 2973 字,大约阅读时间需要 9 分钟。
后注册一个gitee,gitlab或github的账号
这是非常重要的,应为每次Git提交都会使用该用户的信息。但需要注意的是这里的用户名称名称和email地址与我们远程仓库的用户名和地址是没有关系的,这里的信息不是用作认证的,主要是标识的作用。
# 配置用户名git config --global user.name "username" # 配置邮箱git config --global user.email "username@email.com"# 查看配置信息git config --listgit config user.name
以上的配置信息保存在~/.gitconfig文件中
在本地初始化一个git仓库
打开git bush here 进入你需要操作的文件夹内,使用一下命令初始化. 之后会发现目录下出现一个.git文件夹。同时该文件夹出现也说明了本地的git仓库创建成功了。需要注意的事.git文件夹是隐藏的需要设置显示隐藏文件夹。
git init
从远程克隆一个仓库
从远程仓库拿到仓库地址后执行一下命令,进入需要放置的文件夹内
git clone 远程仓库地址
版本库:.git文件夹就是版本库,版本库配置了很多配置信息,日志信息和文件版本信息等
工作目录(工作区):包括.git文件夹的目录就是公作目录,日志信息和文件版本信息等
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区也可以叫做stage,暂存区是一个临时保存文件修改的地方
#查看文件的状态git status#查看文件信息简洁git status -s#将一个未跟踪的状态变成已暂存的状态 加入到暂存区git add 文件名#将一个已暂存的文件变成未跟踪状态git reset 文件名 #将暂存区的文件修改提交到本地仓库 -m后面的是日志信息 不使用-m参数也是可以的 但使用-m参数更方便git commit -m "update 某文件"#删除本地文件 默认把删除的操作加入到了暂存区git rm 文件名#将文件加入到忽略列表 在工作目录创建一个名为.gitignore文件(固定)#创建文件 (这里的是linux命令,Git 模拟的是Linux的环境) touch .gitignore#查看日志git log
注意要想提交一个文件必须先将它加到暂存区
查看远程仓库,执行以下命令后会列出指定的每一个远程服务器的简写,如果已经克隆了远程仓库,那么至少应该能够看到origin,这是Git仓库的仓库服务器默认名字。注意: 只要仓库是克隆来的默认配置了一个远程仓库
git remote (-v)#更详细的git remote show origin
添加远程仓库 同时制定一个可以应用的简写 注意:一个本地仓库可以添加多个远程仓库
git remote add
从远程仓库克隆
git clone url
git remote rm
git pull #从远程抓取最新的文件到本地,并合并git fetch #抓取文件 抓取的文件在.git/object下以二进制的形式,在.git 文件所在的目录下没有文件增加(抓取的文件没有合并)git merge origin/master #把用git fetch的文件合并到工作目录下
git push [remote-name][branch-name]
例如git push origin master 使用前需要与远程仓库添加关联,输入该命令回车会弹出Windows 安全中心窗口需要你登入远程仓库(输入账号与密码),推送成功后远程仓库就能看到性推送的文件了
几乎所有的版本控制器都支持分支
查看所有本地分支 需要注意的是分支分为本地分支以及远程分支
git branch
查看远程分支
git branch -r
git branch -a
创建本地分支
git branch
合并本地分支
git merge
合并分支会遇到的问题:
有时候合并分支并不会如此的顺利。如果你需要在不同的分支中对同一段代码进行了不同的修改,Git就没有办法合并他们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突的内容,最后执行git add 命令来标识冲突已经解决
将新添加的文件推送到远程的分支
git push origin
git branch -d
注意:如果需要删除的分支进行了一些开发的动作,此时执行上面的删除命令并不能删除分支,如果坚持要删除此分支,可以将上面的-d改成-D (强制删除),但不建议这样做因为存在一定的风险。并且也需要注意不能删除此刻所处的分支。
git push origin -d
像其他的版本控制系统一样,git可以给历史的某一个提交打上标签,以表示重要。比较有代表性的是人们会用这个功能来标记发布节点(v1.0,v1.2等)。标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记的状态。
创建一个新的标签
git tag [tagName]
查看tag信息
git show [tagName]
git push [remote][tagName]
eg : git push origin v1.0
新建一个分支,指向tag
git checkout -b [branch-name] [tag-name]
注意:此处版本号应该从v1.0开始(此处可能不同的版本情况可能会不一样)
$ git checkout -b dev12 v0.1fatal: 'v0.1' is not a commit and a branch 'dev12' cannot be created from it#############################$ git checkout -b dev1 v2.0fatal: 'v2.0' is not a commit and a branch 'dev1' cannot be created from it############################$ git checkout -b dev1 v1.0Switched to a new branch 'dev1'
删除本地标签
git tag -d [tag-name]
删除远程标签
git push origin:refs/tags/[tag-name]
最后来个测试:
转载地址:http://qzewi.baihongyu.com/