常用的Git命令

2023-04-13 16:53:36 浏览数 (1)

自己平时总结的一些常用的Git命令

获得提交代码的用户名
代码语言:javascript复制
# --global为可选参数,当在命令中使用--glabal表示所有项目提交代码时都用该用户名,诺不加--global表示只用提交当前项目的代码用该用户名
git config --global user.name
获得提交代码的邮箱
代码语言:javascript复制
# --global为可选参数,当在命令中使用--glabal表示所有项目提交代码时都用该邮箱,诺不加--global表示只用提交当前项目的代码用该邮箱
git config --global user.email
将提交代码的用户名设置为username
代码语言:javascript复制
# --global为可选参数,当在命令中使用--glabal表示所有项目提交代码时都用该用户名,诺不加--global表示只用提交当前项目的代码用该用户名
git config --global user.name username
将提交代码的邮箱设置为email
代码语言:javascript复制
# --global为可选参数,当在命令中使用--glabal表示所有项目提交代码时都用该邮箱,诺不加--global表示只用提交当前项目的代码用该邮箱
git config --global user.email email
下载一个项目和它的整个代码历史到本地
代码语言:javascript复制
git clone url
查看本地分支的方法1
代码语言:javascript复制
git branch
查看本地分支的方法2
代码语言:javascript复制
git branch --list
查看远程分支
代码语言:javascript复制
git branch -r
查看所有分支(包括本地分支和远程分支)
代码语言:javascript复制
git branch -a
删除本地分支,其中branchName表示本地分支名称
代码语言:javascript复制
git branch -d branchName 
强制删除本地分支,其中branchName表示本地分支名称
代码语言:javascript复制
git branch -D branchName
删除远程分支方法1,其中branchName表示远程分支名称
代码语言:javascript复制
git push origin :branchName
删除远程分支方法2,其中branchName表示远程分支名称
代码语言:javascript复制
git push origin --delete branchName
切换到master分支
代码语言:javascript复制
git checkout master 
修改本地分支名称
代码语言:javascript复制
git branch -m oldBranchName newBranchName
初始化一个本地Git仓库
代码语言:javascript复制
git init
查看本地仓库的状态
代码语言:javascript复制
git status
将当前目录下的所有文件添加到暂存区
代码语言:javascript复制
git add .
将暂存区的文件提交到本地仓库
代码语言:javascript复制
git commit -m "update some data"
为本地仓库添加一个远程仓库
代码语言:javascript复制
git remote add origin https://github.com/username/reponame.git
查看所有远程仓库
代码语言:javascript复制
git remote -v
将本地仓库中master分支上的数据推送到远程仓库的master分支上,如果远程仓库中没有master分支,会在远程仓库上自动创建一个master分支
代码语言:javascript复制
git push origin master
拉取远程仓库中的master分支上的数据到本地仓库
代码语言:javascript复制
git pull origin master
修改远程仓库的url地址,其中url表示远程创库的地址
代码语言:javascript复制
git remote set-url origin url
移除远程仓库地址
代码语言:javascript复制
git remote rm origin
回退到某次提交,其中bbc272表示提交的哈希值的前六位
代码语言:javascript复制
git reset --hard bbc272
查看提交记录
代码语言:javascript复制
git log
合并分支,例如将a分支上的代码合并到master分支上,首先切换到master分支,然后执行下面的命令
代码语言:javascript复制
git merge a
查看代码改动,例如执行下面的Git命令可以查看a.md中代码做了哪些改动
代码语言:javascript复制
git diff a.md
强行推送当前分支到远程仓库,其中branchName表示分支名称
代码语言:javascript复制
git push origin branchName --force
创建一个 a 分支,并且自动切换到 a 分支下
代码语言:javascript复制
git checkout -b a
回退到上一次提交
代码语言:javascript复制
git reset --hard HEAD^
撤销没被 git add 到暂存区的文件的修改
代码语言:javascript复制
git checkout fileName
撤销被 git add 到暂存区并且没使用 git commit 提交的文件的修改
代码语言:javascript复制
# 先将文件从暂存区移除(但是文件会保留在工作区)
git reset HEAD fileName

# 撤销工作区中文件的修改
git checkout fileName 
撤销已提交的的文件更改
代码语言:javascript复制
# 先回退到工作区
git reset HEAD^

# 再撤销工作区中对文件的修改
git checkout fileName
撤销所有没使用 git add 添加到暂存区的更改
代码语言:javascript复制
git checkout .
查看git操作记录
代码语言:javascript复制
git reflog
拉取非master分支上的代码到本地,其中localBranch表示本地分支名,remoteBranch表示远程分支名,为了便于管理通常将本地分支名和远程分支名设置为一样,当分支名称中有特殊符号时,需要用引号将分支名称扩起来
代码语言:javascript复制
git checkout -b localBranch origin/remoteBranch
查看git的配置信息
代码语言:javascript复制
git config --list
永久记住密码
代码语言:javascript复制
git config --global credential.helper store
清除用户名和密码
代码语言:javascript复制
git config --system --unset credential.helper
回到某个提交记录下
代码语言:javascript复制
# hash 表示提交记录的 hash 值
git checkout hash 
回到 master 分支的最新的提交记录的上一个提交记录处
代码语言:javascript复制
git checkout master^
在当前分支下回到前4步的提交处
代码语言:javascript复制
git checkout HEAD~4
将 master 分支中的内容强制修改成当前所在分支的前3步提交处
代码语言:javascript复制
git branch -f master HEAD~3
查看向 git 仓库贡献了代码的用户
代码语言:javascript复制
git log --pretty=format:"%an" | sort | uniq -c
查看某个用户的提交记录
代码语言:javascript复制
# meishadevs 为用户名,表示查看 meishadevs 的提交记录
git log --author="meishadevs"
查看总提交次数
代码语言:javascript复制
git log --oneline | wc -l
查看某个用户的提交次数
代码语言:javascript复制
# meishadevs 为用户名,表示查看 meishadevs 的提交次数
git log --author="meishadevs" --oneline | wc -l
查看每个用户的提交次数
代码语言:javascript复制
git shortlog -s -n
参考链接
  • git切换账号及推送人
  • Git提交记住用户名和密码
  • git fatal: Authentication failed for又不弹出用户名和密码 解决办法
  • git-更改本地和远程分支的名称
  • sourcetree提示ssh密钥认证失败

meishadevs欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。 转载请注明: 【文章转载自meishadevs:常用的Git命令】

0 人点赞