Git上传本地项目、日常操作命令、忽略已经追踪文件等

本文详细介绍了如何使用Git将本地项目上传到GitHub,包括初始化、关联远程仓库、推送项目等步骤。同时,总结了日常Git操作命令,如分支切换、回退提交、合并分支等。此外,还讲解了如何将A分支的特定commit复制到B分支,并提供了忽略已追踪文件的方法,包括assume-unchanged和skip-worktree的使用。
摘要由CSDN通过智能技术生成

一、Git上传本地项目到GitHub

1、在本地文件下初始化git

git init

2、GitHub新建项目

3、远程关联

git remote add origin 自己仓库地址(第二步新建的地址)

4、推送项目到远程

git push -u origin master

若远程新建时有文件,可以通过以下命令直接覆盖

git push -u origin master -f

二、日常操作命令

说明命令
clone远程代码git clone <版本库的网址>
查看本地分支git branch
查看本地所有分支git branch -a
新建本地分支(test)git branch test
撤回提交(代码不会保留)git reset --hard <commit_id>
撤回提交(代码还在)git reset <commit_id>
合并分支(把分支"branchname"合并到当前分支)git merge branchname
强制推送(慎用:强制push,本地覆盖远程)git push -u origin kenuo_1.5.0_bug -f
强制覆盖(慎用:强制pull,远程覆盖本地)git fetch --all && git reset --hard origin/master && git pull
查看自己git操作日志git reflog
查看提交历史git log
通过指定分支新建本地分支git checkout -b branchname1 origin/branchname1
回退未add代码git checkout – 文件名
回退已add代码(全部)git reset HEAD
回退已add代码(指定)git reset HEAD xxx.java
拉取远程分支到本地(不会新建本地分支)git fetch origin test(远程分支名)
删除本地分支(-d -D【强制】)git branch -D test(本地分支名)
本地分支未提交的loggit log origin/master(远程分支名)…master(本地分支名)
从指定提交切分支git checkout -b 2023-12-19-coffee(新分支名) d229582cf3edf60f237b51c52c99930220cf83a9(commit)
将A分支某一次commit复制到B分支(此命令在B分支执行)git cherry-pick a651e0bce34aa414962ed067a1922c5d053f12fb(A分支的commitID)

三、将A分支commit复制到B分支

某一次commit

  • git checkout A 切到A分支
  • git log 查询A分支的提交记录,找到要复制的commit ID (假设有commitA commitB commitC ,commitB提交时间是在A和C的中间 )
  • git checkout B 切到B分支
  • git cherry-pick commitB 执行cherry-pick操作就会将A分支的提交记录(只含commitB)复制到B分支

四、忽略已经追踪文件

git通常在.gitignore文件进行配置来忽略本地文件,但是若已经被git追踪,则会配置无效。
assume-unchanged 与 skip-worktree区别:

  • assume-unchanged:这个会关闭文件与远程仓库的跟踪,认为这个文件远程仓库是不会修改,所以每次pull都是本地的文件。
  • skip-worktree:这个不会关闭文件与远程仓库的跟踪,只是告诉Git不要跟踪对本地文件/文件夹的更改。如果远端仓库内容有变化,pull时会拉取最新的变化,并提示冲突,但因为没有跟踪本地更改,所以需要no-skip-worktree再合并最新的变化。

添加忽略

git update-index --skip-worktree path
git update-index --assume-unchanged path

取消忽略

git update-index --no-skip-worktree path
git update-index --no-assume-unchanged path

哪些文件存在标识

查看打了skip-worktree标识的文件
git ls-files -v | grep -i ^S

查看打了assume-unchanged标识的文件
git ls-files -v | grep ^h

清除所有文件的标识

git ls-files -v | grep ^h | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-assume-unchanged
git ls-files -v | grep -i ^S | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-skip-worktree
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值