1、配置git
配置用户名和用户邮件(邮箱不一定要真实存在,一定保证要有的)
git config --global user.name "zhangsan"
git config --global user.email "zhangsan@qq.com"
git config --list (查看是否配置成功)
生成并添加Gitlab公钥
1、ssh-keygen (一路回车)
2、打开 ~/.ssh/id_rsa.pub 文件,并复制其中内容
3、找到 Gitlab页面中 setting 中 SSH Keys,添加复制的内容
二、下载代码
拉取master分支:
git clone git代码路径URL
直接拉取特定分支(以develop分支为例):
git clone -b develop git代码路径URL
先拉取主分支,再切换到 develop 分支:
git clone git代码路径URL
git checkout develop
三、 改变远端git地址
git remote set-url origin git代码路径URL
四、分支操作
查看本地分支: git branch -l
查看远端分支: git branch -r
查看所有分支: git branch -a
创建并切换分支:(当前在哪个分支下执行的,创建的分支的父分支就是当前分支)
git checkout -b 分支名
将分支push到远端(本地分支名和远端分支名一般是一样的):
git push origin 本地分支名:远端分支名
删除本地分支(不能在本地分支下删除当前本地分支)
git branch -D 本地分支名
删除远端分支 git push origin --delete 远程分支名
四、回退代码:
未使用 git add 缓存代码时:
放弃当前目录下某一个修改的文件:git checkout -- filepathname
放弃当前目录下所有修改的文件:git checkout .
已经使用了 git add 缓存了代码:
git reset HEAD filepathname
git reset HEAD .
已经用 git commit 提交了代码:
git reset --hard HEAD^?
git reset --hard commitid
git reset --hard origin/develop
已经用 git commit 提交了代码并push到远端分支:
1、切换到对应的分支(git checkout 分支名)
2.、找到需要回退的commit 提交的 hashid(git log)
3、回退版本(git reset --hard hashid)
4、强制push(git push -f)
五、cherry-pick
将指定的提交commitHash,应用于当前分支。这会在当前分支产生一个新的提交,当然它们的哈希值会不一样。
git cherry-pick commitHash
转移多个提交,将 A 和 B 两个提交应用到当前分支。这会在当前分支生成两个对应的新提交。
git cherry-pick HashA HashB
转移一系列的连续提交,可以转移从 A 到 B 的所有提交。
它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,但不会报错。
git cherry-pick A..B
注意,使用上面的命令,提交 A 将不会包含在 Cherry pick 中。如果要包含提交 A,可以使用下面的语法。
git cherry-pick A^..B
七、git 修改之前的提交信息
1、git rebase -i HEAD~3
2、把要修改的commit,对应的pick改成e或者edit,退出保存
3、git commit --amend (回车,弹出修改框,然后修改)
4、git rebase --continue
5、git push -f