Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库:
本地仓库和远程仓库
工作流程如下
1.从远程仓库中克隆或拉取代码到本地仓库(clone/pull)
2.从本地进行代码修改
3.在提交前先将代码提交到暂存区
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
官网下载地址:https://git-scm.com/download
git init
git status
git add 文件名
git commit -m “备注”
git log
git reflog
git reset --hard commitID
.bashrc
”,在该文件里输入指令起别名。例如:alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
即将git log --pretty=oneline --all --graph --abbrev-commit
起别名为git-log
,该语句意为git log的优化使用。
左键双击可选中字符表示复制,按下鼠标滚轮表示粘贴。
若不想让某些文件纳入git管理,则在工作目录中创建.gitignore
文件,里面输入需要忽略的文件名。例如:忽略所有.a
后缀的文件,则在.gitignore
中编辑“*.a
”
git init
”,初始化本地仓库touch test.txt
”,在仓库中创建一个文件,此时该文件处于工作区状态(一个文件想存储到本地仓库需要经过2个变换:工作区–>暂存区、暂存区–>本地仓库)git add test.txt
”,该命令表示将文件test.txt放入到暂存区中。git commit -m "add test.txt"
”,该命令表示将暂存区的文件都提交到本地仓库,并备注“add test.txt”git branch
git branch 分支名
git checkout 分支名
git checkout -b 分支名
git merge 分支名
git branch -d 分支名
git branch -D 分支名
这里我以Gitee为例,建立远程仓库,Github、Gitlab等同理。
ssh-keygen -t rsa
”,然后一直回车即可ssh -T [email protected]
”origin
”到git bash中输入“git remote add origin SSH地址
”git remote
”git push 远端名称 本地分支名:远端分支名
”,例如git push origin master:master
以上推送到远程仓库的步骤可用改用“git push --set-upstream origin master
”,意为当前分支与远端的master分支关联起来,并同时完成推送,即在以后的推送中可以直接使用“git push
”完成推送。
Tips:git branch -vv
:可查看分支的关联关系。
git clone 仓库SSH地址 本地目录
”,意为对远程仓库进行复制,存放到“文件夹”中,其中“本地目录”可省略,系统会自动生成一个目录。git fetch 远端名 远端分支
”,即将远端仓库里的某个分支的更新都抓取到本地,不会合并,如果不指定远端名和分支名,则抓取所有分支。git pull 远端名 远端分支
”,即将远端仓库的修改拉取到本地并会自动进行合并,等同于fetch+merge,如果不指定远端名和分支名,则拉取所有分支。Tips:“git merge origin/master
”为将远程仓库的master分支合并到本地分支
本地仓库:是在开发人员自己电脑上的Git仓库,存放我们的代码(.git 隐藏文件夹就是我们的本地仓库)
远程仓库:是在远程服务器上的Git仓库,存放代码(可以是github.com或者gitee.com 上的仓库,或者自己该公司的服务器)
工作区: 我们自己写代码(文档)的地方
暂存区: 在 本地仓库中的一个特殊的文件(index) 叫做暂存区,临时存储我们即将要提交的文件
Clone:克隆,就是将远程仓库复制到本地仓库
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库,并将代码 克隆到本地工作区