Git基础操作

参考博客:Git基础操作 - 强哥不强 - 博客园 (cnblogs.com)

拉取代码

使用clone复制远程仓库

git clone git@gitee.com:chen-LinQiang/my-notes.git

在已有仓库中拉取代码

# 初始化
git init
# 关联远程仓库
git remote add origin git@gitee.com:chen-LinQiang/my-notes.git
# 切换到本地主分支
git checkout master
# 若报错error: pathspec 'master' did not match any file(s) known to git.
# git fetch  # 获取全部分支,若无效,则
# git fetch origin  # 获取远程分支
# git branch -vv  # 查看分支关联情况
# 拉取代码
git pull

推送代码

使用git push将代码推送至远程仓库

git push -u origin master 
相当于
git branch --set-upstream-to=origin/master master//将远程仓库origin的master分支与本地仓库master分支关联
加
git push origin master

基础操作

创建本地仓库

mkdir local_repository

初始化本地仓库

git init
----
Initialized empty Git repository in D:/cc/learngit/.git/

关联远程仓库

git remote add origin git@gitee.com:chen-LinQiang/test_project.git

扩展:删除关联(git remote rm origin)

检查关联是否成功

git remote -v
----
origin  git@gitee.com:chen-LinQiang/test_project.git (fetch)
origin  git@gitee.com:chen-LinQiang/test_project.git (push)

跟踪某个文件

git add a.txt

批量跟踪所有工作目录下未被跟踪的文件

git add .

每次修改后都要重新add,否则commit上去的为上次add的版本

查看文件状态

image-20220609141212168

“Untracked files”:未被跟踪的文件

“Changes to be committed”:暂存状态,commit后将留存版本在历史记录中

查看内容差异

# 查看尚未暂存的文件更新了哪些部分
git diff
# 查看已经暂存起来的文件和上次提交时的快照之间的差异
git diff --cached

跳过使用暂存区域

# 加上-a选项,Git就会自动把所有已经跟踪过的文件暂存起来一并提交
git commit -am "test"

[注意] git commit -am可以写成git commit -a -m,但不能写成git commit -m -a

从暂存区域移除文件

git rm --cached a.txt

会删除所有被跟踪,但在工作目录被删除的文件

git rm $ (git ls-files --deleted)

撤销操作

  • 修改提交说明

    git commit --amend

    [注意] 此命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明,但将要提交的文件快照和之前的一样。

推送到远程仓库

git push origin master
# -u 记住推送地址及分支,下次推送只需要输入git push即可
git push -u origin master

查看文件提交历史

git log ./path/to/file

文件移动或rename后,查看完整历史提交记录

git log --follow ./path/to/file

简洁查看提交历史

git log --pretty=oneline filename
# 查看分支所有提交历史
git log --pretty=oneline

分支操作

查看分支

git branch  # 查看本地分支
git branch -r  # 查看remote分支
git remote  # 查看remote分支
git branch -a  # 查看本地分支以及remote分支
git branch -vv  # 查看本地和远程分支的对应关系

创建分支

# 创建本地分支
git branch <name>
# 创建新分支并立即切换到新分支
git checkout -b <name>
# 创建远程分支
git push origin <name>

删除分支

# 删除本地分支
git branch -d <name>

回滚操作

已提交,没有push

# 只撤销commit操作
git reset --soft <commit_id>
# 撤销commit和add两步操作
git reset --mixed <commit_id>

已提交,并且push

# 撤销并舍弃版本号之后的提交记录
git reset --hard <commit_id>
# 撤销,但保留了提交记录
git revert <commit_id>  # 注意id为要撤销的commit id

关键字

origin

origin的意思是指“远程仓库”,就是远程仓库链接的别名,是在clone一个托管在Github上代码库时,git默认创建的指向这个远程代码库的标签,origin指向的就是本地的代码库托管在Github上的版本。

git clone https://github.com/user1/repository
git remote -v
----
origin https://github.com/user1/repository.git (fetch)
origin https://github.com/user1/repository.git (push)

git为你默认创建了一个指向远端代码库的origin

posted @ 2022-10-02 23:39  Weltㅤ  阅读(20)  评论(0编辑  收藏  举报