Git操作指令
1. git init 初始化一个git 仓库;
2. git add test.txt 添加一个文件到仓库,可以添加多个,一空格隔开;
3. git commit -m “remarks” 把文件提交到仓库;
4. git status 当前仓库的状态,哪些修改了,哪些还未提交等;
5. git remote 查看远程库的信息
6. git remote -v 查看上传协议 SSH/HTTPS
7. git remote
git remote set-url origin git@github.com:Chuyue0/JavaScript-codewars.git git remote set-url origin https://github.com/Chuyue0/JavaScript-codewars.git (切换SSH/HTTPS协议)
补充:查看本地仓库地址
git remote show origin
8. 同步与改动
git fetch origin git reset --hard origin/master 丢弃在本地的所有改动与提交,重新从服务器获取最新的版本历史,并将本地主分支指向它; git checkout --<filename> 若操作失误,替换掉本地改动,添加到暂缓区的文件不受影响;
9. git reset --hard HEAD^ 把当前版本回退到上一个版本;
10. 删除
rm <file> 删除本地的文件,若删错了,可以用checkout指令; git rm <file> 删除版本库的文件,删掉后commit提交;
11. git push -u origin master
把本地库的当前内容推送到远程库,参数-u是把本地主分支和远程主分支关联起来;
12. 关联与取消
git remote add origin git@github.com:Chuyue0/JavaScript-codewars.git 关联一个远程库; git remote rm origin 移除远程库的关联;
13. 分支
git branch testBranch 创建分支testBranch
git checkout testBranch 切换分支 Switched to branch 'testBranch' 提示信息 相当于 git checkout -b testBranch 创建并切换到分支; git branch 查看所有的分支信息 ,当前分支前带有* git branch –all 查看所有的分支信息 git checkout master 切回主分支 git merge testBranch 合并testBranch分支到主分支master上 git branch -d testBranch 删除testBranch本地分支 git push origin :testBranch 删除远程库上的分支 git push branch testBranch push本地分支testBranch到远程库
14. 推送分支
git push origin master 把该分支上的本地提交推送到远程库
git push origin branchName 推送其他分支
15. 更新当前分支(更正:更新远程变动分支包含当前)
git pull
16. 本地提交 git commit -am
当你本地的文件都已经用git add “” 或之前已经添加到缓存区后,这时本地文件有所改动(修改过的或新加入的),需要进行commit 提交,使用git commit -am “remark”即可全部提交到staged,最后 git push到远程库;
***注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么!
17. 添加所有的 git add -A
不再需要一个个的单独添加
18. 追踪未添加的文件git add .
git add .
//不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了
19. git reset HEAD a.txt
撤销暂存的文件 (已经添加到暂存区了)
20. 配置使用用户
git config --global user.name ‘xxx’
git config --global user.email xxx@xx.com
git config --global 参数 ,这个参数就是你机器上的git仓库都会使用这个配置,否则你就只能对某个仓库指定不同的用户名和邮箱;
查看用户名和邮箱地址:git config user.name git config user.email
21.常用操作命令
1.初始化 git init 2.关联码云远程仓库地址 git remote add origin https://gitee.com/Rosea/xxx.git 3.拉取关联地址 git pull origin master 4.推送到远程仓库 git push origin master 5.回退到指定版本 git reset –hard 提交记录id
6.获取最新的 Git 提交哈希 git rev-parse --short HEAD
22.本地项目代码关联远程仓库并提交,命令如下:
1. git init 2. git remote add origin @gitee.com:Rosea/xxx.git 3. git pull origin master 4. git add . 5. git commit -am 'message' 6. git push origin master
# 或者用以下的命令完成关联仓库
git init
git checkout -b release
git add .
git commit -m 'feat: commit message'
git remote add origin @gitee.com:Rosea/xxx.git
git push -u origin release
# DONE
23. 在 Git 仓库中查看某个人当前月的代码提交量
示例:


git log --author="tuyan" --since="2025-06-01" --until="2025-06-20" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2 } END { printf "添加行数: %s\n删 行数: %s\n", add, subs }'
git log --author="hujin" --since="$(date +'%Y-%m-01')" --until="$(date -d 'next month' +'%Y-%m-01')" --oneline | wc -l
# 方式一:获取当前月的第一天和最后一天(自动计算) git log --author="author" \ --since="$(date +'%Y-%m-01')" \ --until="$(date -d 'next month' +'%Y-%m-01')" \ --oneline | wc -l
#方式二:统计代码变更行数(增/删) git log --author="作者名" \ --since="$(date +'%Y-%m-01')" \ --until="$(date -d 'next month' +'%Y-%m-01')" \ --pretty=tformat: --numstat | awk '{ add += $1; subs += $2 } END { printf "添加行数: %s\n删除行数: %s\n", add, subs }
24. 在仓库中想要回退到某个特定的commit,并推送到远程git同步更新,操作如下:
# 1.查看提交日志记录 git log # 2.回退命令 git reset --hard 提交的hash eg: git reset --hard 3ebf92d67d23dff0a67752b0f3c5ab19d32859f8 # 3.推送到远程 git push --force origin release 适用场景:确认远程的提交可以丢弃,强制推送当前提交
git push --force-with-lease origin release
适用场景:更安全,检查是否有他人新提交
# 如果需要合并远程变更(保留提交历史),命令如下:
git pull origin release # 拉取远程提交(会产生合并提交)
git push origin release # 重新推送
适用场景:需要保留远程的提交历史(例如:协作分支)
# 如果需要保持历史线性,使用变基操作,命令如下:
git pull --rebase origin release # 将本地提交变基到远程提交之上
git push origin release
如果遇到了报错,请在回退前是否同步远程提交,先同步,再操作。
25. 进行git 中止合并操作


# 1.检查当前分支状态 git status # 2.中止合并操作 git merge --abort
26.本地项目拉取远程仓库分支报错,导致异常中止的问题。
报错关键信息:error: cannot lock ref 'refs/remotes/origin/dev/2.6.30代发商品': 'refs/remotes/origin/dev' exists; cannot create 'refs/remotes/origin/dev/2.6.30代发商品' From http://111 ! [new branch] dev/2.6.30代发商品 -> origin/dev/2.6.30代发商品 (unable to update local ref) error: Could not fetch origin
错误原因:Git 无法创建名为 dev/2.6.30代发商品 的远程分支引用,因为已经存在一个名为 dev 的引用(本地存在dev分支)。在 Git 中,如果一个文件夹和文件具有相同的前缀路径,文件系统就无法同时创建它们。
分析情况如下:
refs/remotes/origin/dev已经存在(可能是一个分支)- Git 尝试创建
refs/remotes/origin/dev/2.6.30代发商品(这需要dev成为一个目录) - 但是
dev已经是一个文件(不是目录),所以无法创建其子目录
解决方式:
方法一:清理远程引用并重新获取
- 首先,清理本地的远程分支引用: git fetch --prune 或更手动 git remote prune origin
- 然后重新获取远程分支 git fetch origin
方法二:删除特定的引用
- 查看当前的远程引用: git ls-remote origin
- 删除本地的远程分支缓存: git update-ref -d refs/remotes/origin/dev
- 然后重新获取
方法三:完全重置远程跟踪信息
- 删除所有远程分支的本地缓存: rm -rf .git/refs/remotes/origin/
- 重新获取
建议:项目中尽量使用英文命名分支,避免潜在的编码问题。
浙公网安备 33010602011771号