Git操作:

从git拉代码

git clone 远程地址

git pull origin 分支名


 

将本地代码上传git

git init      初始化

配置个人信息
git config user.name 你的名字
git config user.email 你的邮箱


全局配置
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"


添加
git add .         # 把文件的变化添加到暂存区    
                      .是当前文件夹下所有 也可以指定推送某个文件 git add 文件名

删除

git reset HEAD         # 把暂存区的文件移除
git status         # 查看当前仓库的状态


把暂存区的文件,提交到仓库
git commit -m         "初始化仓库" # 文本内容中英文不限,必须填写



推送代码到远程仓库

git remote add origin  url>远端仓库地址

git push -u origin '分支名'

更新并切换本地分支

git fetch	更新本地分支列表
git switch master	切换到master	
git branch	查看分支
git switch prod		切换到所需分支

拉取远程 创建分支

(创建一个作为以后要提交git的文件夹)

git clone url>远端仓库地址        # cmd

该git文件目录下        # 然后进去cmd

git remote add origin  url>远端仓库地址        # 建立远程连接

git checkout -b  分支名        # 创建并切换分支

git push origin 新分支名        # 提交新分支名到仓库

删除远程仓库已提交的文件,重新推送,一般用于 .gitignore文件 修改配置

git rm -r --cached .

# -f 强制删除        git rm -r --cached . -f        (. 删全部 文件夹或者文件名直接指定删单个)
git add .
git commit -m 'update .gitignore'
git push origin 分支名

-----------------------------------------------------------------------------------------------------------------------

.gitignore

忽略项目全部内容,只追踪提交某个文件内容

注:python项目中每个模块的py文件都自带一个__pycache__ 文件,和解释器有关,不需要推git,也可添加 忽略掉

/*
!/views

__pycache__/

 在已忽略文件夹中不忽略指定文件

/views/*
!/views/user.py

忽略所有的views/ 目录

views/

 忽略所有的views 文件

views

注:前面 / 是根目录,后面 / 代表是文件目录,后面没 / 代表是文件 。

-------------------------------------------------------------------------------------------------------------------- 

删除远程源

git remote remove origin

添加远程源
git remote add origin  url>远端仓库地址

把暂存区的文件移除

git reset HEAD  

查看仓库文件

git ls-files

删除远程库文件,但本地保留该文件

git rm --cached xxx
git commit -m "remove file from remote"
git push -u origin master

删除远程库文件夹,但本地保留该文件夹

git rm --cached -r 文件夹/文件夹
git commit -m "remove file from remote"
git push -u origin master

加上参数-r,递归删除该文件夹。

git rm与git rm --cached 的区别

git rm 是删除暂存区或分支上的文件, 同时也删除工作区中这个文件。
git rm --cached是删除暂存区或分支上的文件,但本地还保留这个文件, 是不希望这个文件被版本控制。

查看仓库状态

git status

git status -s

查看所有远程

git remote show origin

远程仓库

1.GitHub,国外服务器,慢

2.码云,国内服务器,快

注册码云

网址:Gitee - 基于 Git 的代码托管和研发协作平台icon-default.png?t=N7T8https://gitee.com

分支

# 创建分支
git branch 分支名

# 查看所有的分支
git branch

# 切换分支
git switch 分支名

# 合并b1分支到master(一定要注意: 要先切换到主分支才能合并)
git switch master
git merge b1

# 删除分支
git branch -d 分支名


# 创建并切换分支
git checkout -b  分支名

查看版本日志

git log
git log --pretty=oneline # 格式化日志输出,显示成一行

git log --oneline # 了解
git reflog # 了解

版本切换

git reset --hard 版本号  # 根据版本号切换版本

后退的切换,了解
git reset --hard HEAD^ #后退一步
git reset --hard HEAD^^ #后退两步
git reset --hard HEAD~100 #后退100步

原文件原分支,更新仓库代码:

git add .

git commit -m '某项目'

git push origin master

新文件并新建分支,提交到旧git仓库

git init

git config user.name zhangsan

git config user.email 123456789@qq.com

git add .

git commit -m '某项目'

git remote add origin https://gitee.com/zhangxiao999/p9project.git

git branch

git branch 分支名

git switch 分支名

git push origin 分支名 --force

克隆项目

git clone +  复制的项目链接 + 自定义项目名称(book_admin)
    git clone https://gitee.com/panjiachen/vue-admin-template.git book_admin


进入项目目录
    cd book_admin  


切换到权限控制分支 为后面的RBAC做准备    
切换分支(checkout )到权限控制分支(permission-control)
    git checkout permission-control


安装依赖
    npm install


建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
    npm install --registry=https://registry.npm.taobao.org


查看运行命令 dev或serve
    npm run


启动服务
    npm run dev

异常处理:

Git操作的过程中突然显示Another git process semms to be running in this repository, e.g. an editor opened by ‘git commit’. Please make sure all processes are terminated then try again. If it still fails, a git process remove the file manually to continue…
翻译过来就是git被另外一个程序占用,重启机器也不能够解决。

原因在于Git在使用过程中遭遇了奔溃,部分被上锁资源没有被释放导致的。

解决方案: 进入项目文件夹下的 .git文件中(显示隐藏文件夹或rm .git/index.lock)删除index.lock文件即可。

原因
LF和CRLF其实都是换行符,但是不同的是,LF是linux和Unix系统的换行符,CRLF是window 系统的换行符。这就给跨平台的协作的项目带来了问题,保存文件到底是使用哪个标准呢? git为了解决这个问题,提供了一个”换行符自动转换“的功能,并且这个功能是默认处于”自动模式“即开启状态的。
这个换行符自动转换会把自动把你代码里 与你当前操作系统不相同的换行的方式 转换成当前系统的换行方式(即LF和CRLF 之间的转换),这样一来,当你提交代码的时候,即使你没有修改过某个文件,也被git认为你修改过了,从而提示"LF will be replaced by CRLF in *****"

解决
最简单的一种办法就是把自动转换功能关掉即可。
输入命令 :git config core.autocrlf false (仅对当前git仓库有效)
git config --global core.autocrlf false (全局有效,不设置推荐全局)

然后重新提交代码即可。
 

报错:

fatal: detected dubious ownership in repository at '/home/www/online-training-system'
To add an exception for this directory, call:

    git config --global --add safe.directory /home/www/online-training-system
 

git config --global --add safe.directory /home/online-training-system

报错:

error: Your local changes to the following files would be overwritten by merge:
    students/views/user.py
Please commit your changes or stash them before you merge.

git stash
git pull
git stash pop

通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。

git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
 

git remote: warning 是一个git命令的警告信息,表示在进行远程操作时发生了一些问题或潜在的风险。这个警告可能有多种原因。 一种可能的原因是在进行远程操作时,连接的远程仓库发生了变化或不存在。这可能是由于远程仓库被删除、重命名或迁移导致的。当执行git remote命令时,如果找不到对应的远程仓库,就会出现这个警告。 另一种可能的原因是在进行远程操作时,出现了冲突或错误的操作。例如,当我们执行git push命令时,如果当前分支与远程分支有冲突,就可能出现这个警告。此时,我们需要先解决冲突,再进行远程操作。 除了上述原因外,还有其他一些可能导致git remote: warning的情况。例如,可能是由于网络连接问题,导致与远程仓库的通信中断。此时,我们可以尝试检查网络连接,或者稍后再尝试远程操作。 在处理git remote: warning时,我们需要根据具体的情况进行诊断和解决。首先,我们可以通过执行一些基本的git命令,如git status、git branch等,来获取更多的信息。根据这些信息,我们可以判断具体的问题所在,并采取相应的解决方法。 总之,git remote: warning表示在进行远程操作时发生了一些警告,可能是由于远程仓库的变化、冲突或其他问题导致的。我们需要根据具体情况进行诊断和解决,以确保我们的git操作能够正常运行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值