git基础命令

推荐biliblli入门教程(短小精悍)

廖雪峰git教程

命令方括号里面的内容是可选的

初始配置

(方便日志记录和团队协作)

git config --global user.name "xuxigua"

git config --global user.email "123123@exa.com"

git config --list 查看配置

利用git建立文件夹并添加书写文件

mkdir learngit 在当前路径新建名为learngit的文件夹

cd learngit 修改路径,此处为进入learngit文件夹;..为返回上一级;也可以直接设置绝对路径(把文件夹直接拖进git bash中)

pwd 查看当前路径

ls 查看文件夹中的文件

touch readme.txt 在文件夹中建立名为readme.txt的文件

vi readme. txt 进入vim编辑器,可写入内容;输入无效时可长按a;结束编辑按esc并输入:wq(在最后一行显示)即可退出

echo "this is echo" >> readme.md 利用echo命令把引号内内容写入文件

cat readme.txt 在bash中显示文件内容

rm readme.txt 删除文件

仓库基本命令

git init 初始化仓库,即在当前路径建立.git文件以存储信息(每个路径的仓库只需初始化一次;若有需要,也可以再次初始化);

git status 查看仓库此时的状态;

git add readme.txt 把文件添加到暂存区,每次修改后提交前都需要进行添加;

git add . 把文件夹中全部文件添加到暂存区;

git rm --cached readme.txt 解除对该文件的跟踪

对于不想被添加到暂存区的文件可新建一个.gitignore文件(注意不用再添加后缀),把文件名或文件夹名写入该文件即可,写文件夹名时需要在前面名字加上斜杆/

若在文件夹删除了文件,要同时删除掉版本库中的该文件,可以用git rm readme.txt,该操作也需要提交才会最终实现;

git commit --m "some description" 把暂存区的文件一次性提交到仓库,引号内为对此次提交文件的一些描述备注;

git log 查看仓库的日志(何人在何时对仓库进行了修改,及提交时的备注)

git log --pretty=oneline 以一行一行的形式显示日志;

git diff readme.md 查看上次提交之后修改的内容

取消项目的版本控制(删除.git文件)进入该项目文件路径后输入find . -name ".git" | xargs rm -Rf

版本回退

git reset --hard HEAD^ HEAD是指针,指向当前的版本,一个^ 表示返回上一个版本,两个^返回两个,100个也可以写成HEAD~100
也可以直接用log里commit的id的前几位数 git reset --hard 1094a

若要从过去找到未来的commit id,可以使用git reflog查看,里面包括所有提交及HEAD变化的信息

撤销修改

  • 若修改还未添加到暂存区:用git checkout -- readme.txt 回到最近一次git commitgit add时的状态
  • 若修改已经添加到缓存区,但还未提交:使用git reset HEAD readme.txt把暂存区的修改撤销掉,再用git checkout -- readme.txt
  • 若修改已经提交(不是提交到远程仓库),可以使用上面的版本回退
  • 若误删文件,可以用git checkout -- readme.txt从版本库中还原提交的最后一版本文件

分支

在分线修改不会影响主线内容,修改后合并即可

git branch name 建立一个名为name的分支

git checkout name 从master转换到name分支(为避免与上面的撤销修改命令混淆,推荐使用新命令git switch name

把上面两条命令合到一起可以写成git checkout -b namegit switch -c name

git branch 查看当前分支

注意合并分支前需要返回到要合并到的分支,比如返回主线 git checkout master

合并分支:

  • git merge name (不会在日志留下合并信息)
  • git merge --no-ff -m "备注" name 会创建提交,可以备注信息,可以通过git log --graph --pretty=oneline --abbrev-commit 查看分支历史

git branch -d name 删除分支

git branch -D name 分支没有合并时强制删除分支

储存工作现场

git stash 储藏工作现场,不管文件没提交还是没添加,可储藏多个

git stash list 查看储藏的工作现场

git stash apply [stash@{0}] 恢复现场但不删除

git stash drop 删除工作现场

git stash pop 回复并删除工作现场

复制某次提交所作的修改到另一个分支 git cherry-pick <commit id>

与Github的远程仓库对接

需先在Github账户添加电脑的SSH key,详情见廖雪峰教程的远程仓库章节第一篇文章

把本地仓库与远程仓库连接:git remote add origin GitHub上的仓库地址

查看远程库信息 git remote -v

把本地文件的main分支推送上去:

  • push -u origin main 第一次
  • git push origin main 第一次之后,可以把main改成其他分支

解除与远程库的连接 git remote rm origin

从远程库下克隆仓库到本地(只会克隆主线) git clone GitHub上的仓库地址

克隆分支git checkout -b dev origin/dev

下载仓库的部分文件(找了好久才找到的博客,亲测有效👍)

标签

git tag v1.0 在最近提交的commit上打标签

git tag v0.9 commit-id 在之前的commit打标签

git tag -a v0.9 -m "message" commit-id 打标签时备注信息

git tag 查看标签

git show v1.0 查看具体标签的信息

git tag -d v1.0 删除标签

git push origin V1.0 远程推送一个本地标签

git push origin --tags 远程推送所有本地标签

git push origin :refs/tags/v0.9 删除远程仓库上的一个标签

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值