1、设置git用户名和邮箱
(1) 用户名和邮箱地址是本地git客户端的一个变量,每次commit都会用用户名和邮箱纪录。github的contributions统计就是按邮箱来统计的。
$ git config --global user.name "${你的用户名}"
$ git config --global user.email "${你的邮箱}"
(2) 通过下述命令可以修改用户名与密码
$ git config --global --replace-all user.name "${你的用户名}"
$ git config --global --replace-all user.email "${你的邮箱}"
(3) 可以通过git config --list来查看本地的git配置信息
$ git config --list
2、如何不需要密码推送和拉取代码?
需要配置一对key,请按照以下步骤操作:
(1) 生成SSH Key
在某Linux环境中运行以下命令,注意:后面设置成自己的邮箱,然后一路回车。
$ ssh-keygen -t rsa -C "${你的邮箱}"
(2) 然后打开~/.ssh/id_rsa.pub文件,复制其中的内容
$ cat ~/.ssh/id_rsa.pub
(3) 打开github/gitlab或其他并登录,打开右上角设置
Settings-->SSH Keys--->Add an SSH key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮,之后推送或者拉取代码就不需要密码了。
3、拉取代码
$ git clone ${git仓库地址}
4、构建自己的分支branch
几乎每个版本控制系统都是以某种形式支持分支,使用分支意味着可以从开发主线上分离开来,然后不影响主线的同时继续工作。
(1) 创建分支:
$ git branch ${branchname}
(2) 切换分支
$ git checkout ${branchname}
(3) 创建分支的同时切换过去:
$ git checkout -b ${branchname}
(4) 通过git branch或在git branch -a可以查看所有的分支,星号标识的地方为当前所处的分支,再配合git checkout指令进行相互切换。
5、git add添加自己需要提交的内容到暂存区
$ git add ${your files}
$ git status # 查看新提交内容的文件信息
6、git commit将暂存区中的内容添加到本地仓库
通过git commit -m '说明此次提交内容的详细修改情况'
7、git push将本地仓库上传到远程仓库去
$ git push origin ${your branch name}
8、前往github/gitlab中发起合并merge请求
(1) 点击右侧New merge request发出请求
(2) 选择你自己提交用的分支
(3) 等待管理员统一合并请求后,会收到合并成功邮件提醒
9、其他常用指令
$ git pull origin lsq_dev # 把远程dev分支上的内容都拉取到本地了
$ git push origin lsq_dev # 把本地分支推到远程分支#
$ git fetch --all
$ git reset --hard origin/master # 放弃本地修改,使用服务器代码覆盖本地的Git命令如下
$ git pull
$ git log -n 3 --stat # 查看最近3次提交的详细信息
$ git reset --hard 版本号 # 回退到指定版本
$ git push origin lsq_dev --force # 强制提交当前版本号,以达到撤销版本号的目的
$ git log -p -2 # 最近两次差异
$ git diff # 未提交的文件不同之处
$ git branch -D lsq_dev # 删除本地分支
$ git push origin --delete lsq_dev # 删除远程分支
$ git fetch # 将本地分支与远程保持同步
11、QA
(1) git status不能显示中文问题
$ git config --global core.quotepath false
(2) git rebase -i master的时候,自动弹出了nano 编译器,执行Ctrl+X就自动结束了,查了下,需要修改默认的编辑器,方法如下:
$ git config core.editor vim
(3) 修改最后一次注释(就是最新的一次提交):
$ git commit --amend
(4) 修改之前的某次注释
$ git rebase -i HEAD~2 # 最后的数字2指的是显示到倒数第几次 比如这个输入的2就会显示倒数的两次注释(最上面两行)
(5) 你想修改哪条注释 就把哪条注释前面的pick换成edit,内容先不用修改。将pick修改成fixup(保留应用,丢弃commit描述)或者squash(保留应用,合并commit描述)等关键字。注意不能将第一条也就是最近的一条commit给pickup或者squash,这样它就找不到之前的commit进行合并,然后就会报出错误。
一次一次重新再修改
$ git commit --amend
$ git rebase --continue
(6) git打补丁到另外一台机器上提交
$ git reflog
$ git show bdf7f3b6
$ git show bdf7f3b6 > 210708_perception.patch
$ vi 210708_perception.patch
$ scp 210708_perception.patch ${username}@${remote_ip}:/home/
$ patch -p1 < 210708_perception.patch
$ head 210708_perception.patch
$ git push origin local_dev:local_dev
标签:git,--,dev,Git,使用,commit,config,分支
From: https://www.cnblogs.com/capybara-lsq/p/18065917