1. 远程项目拉取
git clone [url]
复制代码
url分为https地址和ssh地址两类,在gitlab项目首页可以进行选择,如下:
使用https地址拉取项目需要验证gitlab的用户名和密码,并且在后续执行pull和push命名时不定时要求输入用户名和密码。因此推荐使用ssh地址,只需要在gitlab账号下配置一下本机的ssh密钥,即可免去一次次验证用户的烦恼,本地ssh密钥生成方式参考 MAC本地生成SSH KEY的方法、 Window下git生成SSH Key。ssh密钥生成后,将公钥复制,添加到【gitlab -> Settings(右上角用户头像下拉) -> SSH Keys】即可。2. git配置
git config --list // 显示当前的git配置
git config [--global] user.name "[name]" // 设置提交代码时的用户名
git config [--global] user.email "[email address]" // 设置提交代码时的邮箱
复制代码
此处设置的用户名和邮箱会作为我们每次commit的用户信息,在gitlab上可供查看
3. 添加代码
git add */[dir]/[file1] [file2] ... // 可逐个文件或文件夹进行添加,*表示将当前所有改动进行暂存
复制代码
4. 代码提交
git commit -m [message] // 将暂存区所有改动提交到本地仓库,message为本次提交的说明
git commit [file1] [file2] ... -m [message] // 将暂存区指定文件提交到本地仓库
复制代码
5. 分支相关
git branch // 列出本地当前的所有分支,当前所处分支名将会高亮
复制代码
git branch -a // 列出所有本地及远程分支
复制代码
git checkout [branch-name] // 切换到一个已存在的本地或远程分支
复制代码
git checkout -b [new-branch-name] // 新建一个本地分支并切换到新分支
复制代码
git checkout -b [new-branch-name] [remote-branch] // 新建一个本地分支,并跟踪远程分支
复制代码
git branch --track [branch] [remote-branch] // 新建一个分支,与远程分支建立追踪关系
复制代码
注意:以上两种方式在建立追踪的效果上没有多大区别,推荐使用git branch --track,因为使用此方式建立关联后,后续在子分支进行pull和push操作无需带上具体的分支,而使用git checkout -b建立的关联名称往往需要区分分支名,如下图,使用git branch --track建立feature/test-track分支关联develop分支,当develop分支有改动,在feature分支直接git pull即可拉取develop分支的改动到当前分支
git branch --set-upstream-to [remote-branch] [branch-name] // 本地已存在分支与远程分支建立追踪关系
复制代码
补充:本地分支与远程分支建立追踪关系最大的作用是保持父分子与子分支的代码一致性,在子分支进行pull操作会将父分支的最新代码一并同步至本地,以便多人开发过程中及时合并代码与解决冲突
git merge [branch] // 将指定分支的代码合并到当前分支
复制代码
git branch -d [branch-name] // 删除本地分支
git push origin --delete [branch-name] // 删除远程分支
复制代码
6. 远程代码同步
git pull [remote] [branch] // 拉取远程最新代码与本地代码合并,在与建立了追踪关系的分支上需要带上origin
复制代码
以上develop分支追踪master分支
git push [remote] [branch] // 上传本地分支代码到服务器,在与建立了追踪关系的分支上有时需要带上origin
复制代码
7. 改动撤销
git stash // 将当前改动进行储存后移出,常用于本地代码与远程代码可能存在冲突导致无法pull远程代码,这时使用git stash将本地改动储存后移出,再拉取罪行代码
git stash pop // 将存储的改动还原,拉取最新代码后再执行此命令将改动还原
复制代码