新-git-gitee代码管理(管理)

git忽略文件失效

git rm -r --cached . //清除缓存
git add .            //添加所有文件
git commit -m 'update .gitignore'   //提交更新.gitignore

git 提交的一些规范

开发git commit规范:

git commit --fix'我的问题'

feat:新功能
fix:BUG 修复
docs:文档变更
style:文字格式修改
refactor:代码重构
perf:性能改进
test:测试代码
chore:工具自动生成

官网:https://git-scm.com/book/zh/v2
菜鸟:https://www.runoob.com/git/git-gitee.html

git fork项目后 如何同步流程


杨天龙 3-22 10:25:29
git remote add upstream ssh://git@git.yschsz.com:20022/frontend/dq-operation.git

杨天龙 3-22 10:25:35
git remote set-url --push upstream no-pushing

杨天龙 3-22 10:25:39
git fetch upstream

杨天龙 3-22 10:34:03
git pull upstream main

参考:https://blog.csdn.net/core571/article/details/84029350
克隆 fork 的主分支

$ git clone (url)
$ cd project
$ git checkout -b featureA
# (work)
$ git commit
# (work)
$ git commit

添加 fork 后的分支

$ git remote add myfork (url)

推到特性分支的界面上

$ git push -u myfork featureA

合并至主仓库
在fork的仓库新建合并请求,来源分支为此仓库的特性分支,目标分支为主仓库的目标分支。

同步主分支上

$ git fetch origin
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
From http:///liuq/mm32_lib_head_2.0
   92fe206..7b1201c  dev        -> origin/dev

新-git-gitee代码管理(管理)_第1张图片

添加 主分支
git remote add upstream ssh://git@git.yschsz.com:20022/frontend/dq-operation.git

设置 路径 不能推
git remote set-url --push upstream no-pushing

拉代码 不会合并
git fetch upstream
拉代码 并合并
git pull upstream main

下载及秘钥配对

1.下载git https://git-scm.com/
2.查看是否有秘钥

cat ~/.ssh/id_rsa.pub

3.生成秘钥并配对 :
在用户中看是否有.ssh 文件 如果没有创建秘钥

ssh-keygen -t rsa -C  "email" (email为自己的邮箱,如123456@qq.com)

4.github 和gitee 配置:https://www.runoob.com/git/git-remote-repo.html
5.查看公钥 秘钥是否配置好(github)(gitee)

ssh git@github.com
ssh git@gitee.com

git常见命令

6.git 常见命令

mkdir  gittest         创建文件夹
git init               初始化仓库
vi     .git/config (查看.git 配置)  
vim    .git/config  查看git配置文件
git config --list --show-origin 查看配置
git config --list    查看配置
touch   index.txt   创建文件
vim     index.txt   打开index.txt 文件
git add filename    添加本地缓存
没有提交前(第一次不用管进行覆盖)
git status           查看提交状态
git commit -m'第一次提交'  提交本地并备注

git rm test.txt  删除本地库内容

修改内容
git status           查看提交状态
git add   filename   添加文件缓存
git checkout filename 还原保存的文件-本地仓库版本
git checkout -- utils\ 撤回没有提交的修改

> # 查看指定文件的历史啊版本 git log <filename>
> # 回滚到指定commit ID     git checkout <commitID><fileName>


git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了

reset 回滚会造成 版本比远程低 造成提交失败 因此revert 提交一个新的版本 提交同步
git revert commitID  反坐一个版本  


git commit -m'第二次提交'
git log       查看提交日志
git reset --hard commit_id  回滚到以前版本
git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]   

git log  -5 查看前5条
git diff  5d57640f0689df210bbae44b5a24dad78e8e9f06   对比文件变化
git push --set-upstream origin develop     设置提交路径
git branch --set-upstream-to=origin/dev dev  设置git pull/git push 默认地址
git branch --set-upstream-to=origin/remote_branch  your_branch

多次add 后
git commit --aemnd -m '最后一次提说明'      补充说明


// hard 丢弃  soft 保存  mixed 缓存区  
// merge 保留 工作区和index之间的差异   keep 保留工作区和HEAD之间的差异。

分支

git branch develop      创建分支develop
git checkout develop    切换分支develop 
git checkout origin/master -- path/folder/filename
git checkout master      切换主分支  
git merge  develop       合并到主分支 

情形1:本地已经创建了分支dev(以dev为例,下同),而远程没有

可以通过以下2种方法在远程创建分支dev,并与本地分支进行关联:

方法1: git push -u origin dev
方法2: git push --set-upstream origin dev

情形2:远程已经创建了分支dev,而本地没有
在本地创建分支并与远程分支进行关联,也有2种方法:
方法1分为两步:
step1:先将远程分支pull到本地 git pull origin dev
step2:再在本地创建分支并与之关联,又有2种方法
git checkout -b branchName commitId   //选取远程分支的版本
(1)git checkout -b dev origin/dev     //创建 
(2)git checkout -b dev --track origin/dev     #可以简写为git checkout --track origin/dev   //关联

远程分支
git pull origin dev:dev-------两个dev分别表示远程分支名:本地分支名


选择本地有(创建) 且关联分支
$ git checkout -b DQr origin/DQr
提交当前分支
git push origin DQr
拉取当前分支
git pull origin DQr
 创建并建立
git checkout -b zhuang-hand origin/zhuang-hand


git branch -a   查看本地/远程分支
git branch -D dev  删除本地分支
git push origin --delete [branch_name]
git fetch -p   清理本地无效分支(远程已删除本地没删除的分支)
git branch | grep 'branchName'   如果分支太多,还可以用此命令进行分支模糊查找

打标签 tag

git 打标签

1 打标签  git tag <name> 

2.git tag -a v1.4 -m "my version 1.4"  打标签且增加描述

5.git log --pretty=oneline 查看历史记录

6.git tag -a v3.7.5 `d0fe218bb5d4fc745c6a26924506cea8e57cf5ad`历史打标签  (添加 描叙)

3.查看所有打的标签  git tag  或者 git tag -l  或者 git tag --list  (v1.0 v2.0 标签号)

4.git tag -l "v1.8.5*"  查看一个系列的版本

7.git show  v1.0(版本号)  展示标签号

 ssh -T 'ssh://yushi@192.168.1.126:29418/Soft2New/program/triage 查看权限

git push origin v1.5  推送单个标签

git push origin --tag 推送多个标签

git tag -d v1.4-lw  删除一个本地标签
Deleted tag 'v1.4-lw' (was e7d5add)  删除一个本地标签

git push origin :refs/tags/v1.4-lw       删除远程一个标签

git push origin --delete <tagname>    删除远程一个标签

git checkout 2.0.0  git 检出一个标签





git tag -l | xargs git tag -d #删除所有本地分支
git fetch origin --prune #从远程拉取所有信息

\#查询远程tags的命令如下:
git ls-remote --tags origin

tag常用git命令:
git tag #列出所有tag
git tag -l v1.* #列出符合条件的tag(筛选作用)
git tag [tag名] #创建轻量tag(无-m标注信息)
git tag -a [tag名] #创建含注解的tag

git push origin --tags #推送所有本地tag到远程
git push origin [本地tag名] #推送指定本地tag到远程

git tag -d [本地tag名] #删除本地指定tag
git push origin :refs/tags/[远程tag名] #删除远程指定tag

git fetch origin [远程tag名] #拉取远程指定tag
git show [tag名] #显示指定tag详细信息

回滚最新

$ git reflog                                                回滚未来

git 删除分支后找回

git fsck --lost-found
git show + id
git merge + id

参考:https://blog.csdn.net/wh_19910525/article/details/7842503

远程仓库关联

第一种方式

git clone  git clone [email protected]:***/giteetest.git   //克隆远程仓库
工作开展
git status
git add  filename
git commit -m'提交描叙'
git pull origin master     拉取远程主仓库
git push origin master   提交远程主仓库

第二种方式

git remote add origin https://gitee.com/kingCould/HelloWord.git  //关联远程仓库

git pull --rebase origin master的区别  直线
git pull origin master    并行结点

git push -u origin master                                    // 第一次提交 默认master (空仓库)
git push -u origin master   -f                               // 当前分支强制覆盖 远程的都没有了
git push origin master                                        // 后面提交

git remote -v                                                                        // 查看远程路径
git remote remove origin                                                      //删除远程路径

git merge:

   D--------E
  /          \  A---B---C---F----G---   test, master

git rebase

A—B—D—E—C‘—F‘— test, master
rebase好处 想要更好的提交树,使用rebase操作会更好一点。 这样可以线性的看到每一次提交,并且没有增加提交节点。 merge
操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。 而rebase
操作的话,会中断rebase,同时会提示去解决冲突。 解决冲突后,将修改add后执行git rebase
–continue继续操作,或者git rebase –skip忽略冲突。

vim 相关文件(liunx命令)

  • mkdir 创建目录
  • touch 创建文件
  • pwd 查看当前目录
  • ls / ls -al 查看目录下所有内容
  • cat 查看文件内容
  • cd 切换目录
  • wc 统计字数信息
  • more/less 查看文件(git 没有more 这个命令 linux 查找文件用的)
    参考:https://www.cnblogs.com/aijianshi/p/5750911.html
  • rm 删除文件
  • rmdir 删除文件夹
  • rm -rf code 删除文件夹的文件
    -mv 移动文件/文件夹(重命名)
  • cp 复制文件 vim 文件
  • head -5 index.html (文件前几行)
  • tail 查看文件后几行 tab自动匹配(2)
  • history 历史记录
  • ssh 远程登录(ssh [email protected])
  • >和>>重定向 (echo hello world!>READMW.md) >覆盖 >>追加 curl http://www.baidu.com>1.txt
  • wget 下载 wget https://node.js.org?dist/v4.40/node-v4.4.0.tar.gz
  • curl 网络请求 (curl http://www.baidu.com) who am i 查看当前用户
  • | 管道符 把上次的结果当做下次参数 grep 匹配内容 一般结合管道符 ls -al | grep log.txt >output.txt
 insert 输入模式

通过 Esc 切换

ctrl + v  视图模块
y 复制
p 黏贴
d 删除
按 insert    输入文件
按  Esc      退出文件
:w保存文件但不退出vi 编辑
:w! 强制保存,不退出vi 编辑
:w file将修改另存到file中,不退出vi 编辑
:wq保存文件并退出vi 编辑
:wq!强制保存文件并退出vi 编辑
q:不保存文件并退出vi 编辑
:q!不保存文件并强制退出vi 编辑
:e!放弃所有修改,从上次保存文件开始在编辑

拉取远程单个文件

# 1.初始化
mkdir localdir # 创建用于作为本地仓库的文件夹
cd localdir # 进入文件夹
git init # 在本地指定文件夹内执行此命令设置为git仓库
# 2. 拉取remote all objects信息
git remote add -f origin http://github/projectName.git # 添加远程仓库地址,实现拉取remote的all objects信息
# 3. 开启sparse clone
git config core.sparsecheckout true # 用于控制是否允许设置pull指定文件/夹,适用于Git1.7.0以后版本,本质是开启sparse clone
echo "fileName" >> .git/info/sparse-checkout # 本地目录的.git文件夹下,如果没有sparse-checkout文件则创建,在其中添加指定的文件/夹fileName,就是需要拉取的那个特定文件/夹。*表示所有,!表示匹配相反
cat .git/info/sparse-chechout # 查看
# 4. 拉取指定目录
git pull origin master # 拉取命令是一样的,只是已经通过配置文件sparse-chechout指定了目标文件/夹
————————————————
版权声明:本文为CSDN博主「quantLearner」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/The_Time_Runner/article/details/105870217

gitee 代码管理工具(管理代码问题)

https://gitee.com/

工具 git(原始) GitHub(小猫) vscode

你可能感兴趣的:(git,gitee,github)