Git:基本常用指令

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  # 将本地分支与远程保持同步

10.⚡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
posted @ 2024-03-11 14:07  capybara-lsq  阅读(25)  评论(0)    收藏  举报