赞
踩
Git是一个分布式版本控制系统。它使每一个开发者本地都有一个独立的版本库,可以在本地管理代码版本;还可以记录文件内容的变化,以便查阅和修改文件版本。
在Git官网下载安装包,然后再本地安装。
安装结束后,第一件事就是配置用户信息,因为每一次提交都要用到用户信息。
git config --global user.name xxx
git config --global user.email xxx.com
分为三个区域:
1.工作区:在这个区域对项目代码进行开发和修改。
2.暂存区:对工作区的文件跟踪后,就把修改加入了暂存区。
3.本地代码库:对暂存区的文件进行提交之后,就来到了本地仓库,作为一个被提交的代码版本被保存起来。
在本地仓库的基础上引入两个概念
1.分支:
是一个指向commit对象的指针,常见的有master。head指针永远指向当前工作的本地分支。关于分支的操作有创建分支、切换分支、删除分支、合并分支。特别地,合并分支时,应该先解决冲突再合并。
也是一个指针,指向与远程仓库交互的commit对象,只有本地与远程仓库交互之后才会移动。也就是只记录最后一次与远程仓库交互过的版本。
远程分支告诉开发者从远程仓库clone代码时的代码库的情况。
在本地无法改变远程分支的位置,只有在与远程代码库服务器通信时才能改变。
可以通过git fetch
获取远程代码库,来改变本地代码库的远程分支的位置。之后可以通过git merge origin/master
将远程分支的变更合并到本地分支。
标注代码仓库中的某一个版本及其相应的信息,跟代码版本commit对象绑定,不会移动。
第一步:(初始化本地仓库、为本地添加远程仓库)/从远程仓库克隆代码
第二步:在工作区对项目代码进行开发修改,并将做出的更改加入暂存区
第三步:把暂存区的代码提交到本地仓库
1. git status # 查看当前工作区文件相对于暂存区和版本库的状态 例如:未跟踪、有更改待提交
2. git add filename # 将filename(更改后的文件)添加为跟踪状态,其实就是从工作区加到暂存区
3. git commit -m 'change_info' # 将暂存区的文件提交到版本库, -m允许添加更改信息 '这里是更改信息'
4. git log [--oneline] # 查看提交记录,可选项可以将每个提交记录各集中在一行
5. [git] rm file # 本地删除文件; 可选项会同时删除本地和缓存区的文件,最后去提交
6. git restore file # 从暂存区复制文件状态到工作区(撤销本地修改),前提是暂存区必须有前一个文件状态; git checkout -- file命令效果相同
7. git restore --staged file # 回撤暂存区到上一个状态;作用相同的指令: git reset [--] file
8. git commit -a -m 'info' # 把已被跟踪的工作区的更改同时加入暂存区和本地仓库
9. git checkout HEAD -- file # 获取本地仓库中最后一次提交的代码,用来覆盖工作区和暂存区
10. git reset [回退版本] # 从代码仓库获取指定版本覆盖暂存区,同时删除该版本之后提交的所有版本。 回退版本有三种表示方法
11. git reset --hard [回退版本] # 从代码仓库取得某个版本,同时覆盖暂存区和工作区
12. git revert [-n] head #撤销最新的提交(工作区和暂存区的最新修改也被撤销),但不删除提交记录,并生成一个新的提交记录。 -n:撤销,但不提交新生成的修改记录,需要手动提交。
13. `.gitignore`文件的配置,用来忽略不用被跟踪的文件
14. git diff [--staged]|[--cached] # 比较工作区和暂存区之间的差异;可选项比较暂存区和代码仓库之间的差异;git diff [版本1] [版本2] 比较两个版本之间的差异;git diff head 比较代码库和工作区之间的差异
远程仓库就是在远程服务器上的代码仓库,较为常用的是gitee、GitHub。
在之前三个区域的基础上,重点介绍分支:
1.git branch <分支名> : 创建新分支
2.git branch:查看本地所有分支
3.git branch -v:查看各个分支的最后一次提交信息
4.git check <分支名>:切换到目标分支,本地工作区的内容也会更改
5.git check -b <分支名>:新建且切换到新分支
6.git branch -d <分支名>:删除分支
7.git merge <branch1>:把branch1合并到当前分支,可以再合并成功后删除被合并的分支
git stash 储藏 git stash apply 获取储藏
- 1
- 2
如果什么都不做(提交、储藏)就切换到别的分支,则在这个分支做的更改会丢失。
git fetch
来获取远程仓库的分支git checkout -b 新本地分支 远程分支
,这个命令创建的分支会自动跟踪远程分支git branch 新分支
,在推送到远程仓库git push 远程仓库名 本地分支名:远程分支名
git push 远程仓库名 --delete 分支名
,这可以删除本地的远程分支和远程服务器上对应的分支1.新建标签:git tag -a 标签名 -m '标签说明信息' -a会创建一个带注解的标签、-m指定对应的标签说明
2.查看标签信息和其指定的对象的信息:git show 标签名
3.追加标签:git tag -a 标签名 之前的提交版本 -m ‘标签说明信息’
4.列出所有标签:git tag
5.删除标签:git tag -d 标签名
6.推送标签到远程仓库:git push 远程仓库名 标签名
7.通过标签获得对应版本:git checkout -b 本地分支名 标签名
git init
git remote add <shortname> <url>
git remote
git remote rm 仓库名
git pull 远程仓库名 远程仓库分支
git push 远程主机名 本地分支名 远程分支名
;本地分支名和远程分支名相同时:git push 远程主机名 本地分支名
git clone 远程仓库地址
git pull
;需要config文件中配置才能使用,否则,使用 git branch --set-upstream-to=[origin/master]
进行配置git fetch
拉取,需要手动合并git merge origin/master
ssh-keygen -t rsa
——>配置公钥Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。