一、在Windows上安装Git
- 从Git官网直接下载安装程序,(网速较慢可去腾讯软件中心下载)然后按默认选项安装即可。
- 安装完成后,回到桌面右击在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
- 在命令行设置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
二、获取公司项目
- 配置ssh
ssh-keygen -t rsa -C "example@XX.com"
出现泡泡就是成功了。
2. 去C盘用户下找.ssh文件夹下的id_rsa.pub文件,编辑器打开,复制所有内容,粘贴到gitlab->setting的SSH Keys中
即可执行git clone [url]
【好像还有第二种方法可以不用配置ssh,直接用https开头的链接下载,不过要将链接地址的IP地址换成url,这与http与https的区别有关,未验证】
三、修改文件提交
代码clone下来之后就要进行拉取,修改,上传,合并等一系列的操作。这时我们要对git进行一个基本的了解
- Remote:远程仓库
- Repository:仓库区(或本地仓库)
- Workspace:本地工作区
- master: 默认开发分支
- origin: 默认远程版本库
- Index / Stage:暂存区
可以看到我们用pull语句可以直接从远程仓库拉取代码到本地工作区,fetch/clone/checkout也可以完成这个功能,至于它们的功能,我们稍后再说
用add–>commit–>push实现将本地工作区的代码提交到远程仓库
提交代码
//添加当前目录的所有文件到暂存区
git add .
提交暂存区到仓库区
git commit -m"修改内容"
上传本地分支到指定主机XXX(HEAD)
git push -u origin HEAD:修改内容
四、下拉远程的新代码到本地
//切换到sprint7分支
git checkout sprint7
//下载远程仓库的所有变动,并与本地分支合并
git pull origin sprint7
五、辅助功能
git log //打印日志
git branch -al //查看本地和远程的所有分支。
git rebase //将分叉的分支重新合并
git fetch --prune //删除本地存储的,远端已删除的分支
git fetch --all
git checkout origin/sprint7 -b sprint7
git branch -vv
可以看到master后面蓝色部分origin/master,说明master分支已经与origin/master绑定在一起了。
说说 fetch 和 pull 的不同: fetch 只能更新远程仓库的代码为最新的,本地仓库的代码还未被更新,我们需要通过 git
merge origin/master 来合并这两个版本,你可以把它理解为合并分支一样的。 pull
操作是将本地仓库和远程仓库(本地的)更新到远程的最新版本。 如果想要更加可控一点的话推荐使用fetch + merge。
六、注意事项
原则:
- 改代码之前都要先
git fetch
一下,获取更新,否则会覆盖别人的代码(惨痛的经验) - 提交时,先
git stash
将自己的代码变动暂放缓存区,再git fetch
获取远程更新,git rebase
合并多余的分支,最后再git push
上去(也可以直接执行:git pull --rebase
效果与上面是一致的,也是最近才发现,推荐使用)