Git常用命令

分支 branch

创建本地新分支,并同步到远程

git checkout -b <branch>
git push -u origin <branch>

创建新分支,并推送到远程

git branch <branch>
git checkout <branch>
git push --set-upstream origin <branch>

删除分支

删除本地分支
git branch -d <branch>
删除远程分支
git push -d origin <branch>

重新设置track到远程分支

git branch --set-upstream-to origin/branch
git branch —set-upstream-to=origin/remote_branch local_branch

找出包含commit的分支名

git branch —contains <sha1> —all

远程分支删除后本地无法pull

git gc —prune=now
git remote prune origin

分支改名

不在本分支
git branch -m original_branch_name new_branch_name

在本分支
git branch -m new_branch_name

重命名远程分支,只能删了重建

标签 tag

打标签

git tag <tag>
git push origin <tag>

删除标签

删除本地标签
git tag -d <tag>

删除远程标签
git push origin :refs/tags/<tag> (refspec)
git push origin --delete tag <tag>

列出所有标签

git tag -l (本地标签)

签出标签

git checkout <tag>

补丁patch

打补丁

git diff > a.patch
git apply —check a.patch
git apply a.patch

版本回退 reset

git reset --hard HEAD^ 回退上一个版本(windows的cmd控制台把^做为换行符)
git reset --hard HEAD~1 回退1个版本
git reset --hard commit_id 回退特定版本
git reflog 操作记录,用于向前回退的查找commit_id

差异 diff

4种差别:

1: 暂存区(索引区)跟工作区的文件差别
git diff, 暂存区是原始文件(源),工作区是目标文件

2: 某一提交与工作区的差别
git diff commit_id, git diff HEAD(最近的提交),版本库是源,工作区是目标

3: 某一提交与暂存区的差别。版本库是源,暂存区是目标
git diff --cached

4: 比较两个提交之间的差别
git diff commit_id1 commit_id2 filename (第一个是源,第二个是目标)

版本管理 version control

修改上次提交的备注

git commit --amend -m "hello world"

生成代码库里track的文件列表

git ls-tree -r HEAD --name-only > repo.txt

Linux中拷贝repo目录

cp -r -L <source-repo-dir> <dest-repo-dir>
posted @ 2023-10-22 17:21  jigsawecho  阅读(52)  评论(0编辑  收藏  举报