Gitee操作

先看这个:

        git常用命令使用总结

一些操作:

        🕐场景:你在gitee上面本来有个项目,如果别人是通过.zip下载下来的,这种情况下git remote -v是得不到仓库信息的,这时候做完修改,需要先来一套:

git add .
git commit -m "update"
git remove add origin git@gitee.com:xxxxxxxxxxxx.git
git pull origin master ###这一步一般会有冲突
###其一:你本地分支和远程分支有“偏离”了,Git 不知道该怎么自动合并它们,所以它拒绝执行 pull 操作,简单来说就是:你本地 master 分支有一些自己的提交;远程 origin/master 也有新的提交;两者都走出了自己的“路线”,Git 不知道你到底是想把远程的合过来,还是变基到上面。
###解决:根据terminal中的提示选择下面三种方法,去chatgpt问一下都是什么意思,选一个,一般选第一个:意思是告诉 Git:以后遇到这种情况就直接合并,保留你和远程两边的提交历史。
###“提示:  git config pull.rebase false  # 合并
###提示:  git config pull.rebase true   # 变基
###提示:  git config pull.ff only       # 仅快进”

###其二:fatal: 拒绝合并无关的历史(fatal: refusing to merge unrelated histories)
###简单来说:你是 直接从网页下载了 zip 压缩包解压(比如 Gitee 页面下载的);或者你 初始化了一个空的本地 Git 仓库(git init),但没有从远程 clone;而你现在又尝试 git pull origin master,Git 会觉得你是在试图合并两个“完全不认识”的仓库。
###解决:允许合并“无关历史”加上这个参数:
###git pull origin master --allow-unrelated-histories

###其三:这时候进入vscode打开这个项目,就会出现远程的origin/master和你当前文件夹的内容的差别,根据你的需要选择接受远程的代码版本还是当前文件夹的版本,然后保存即可

####上述问题解决之后,重新来一遍:
git commit -m "update"
git push origin master 

###即可

        是不是很麻烦,麻烦就对了,所以如果是自己参与的项目,就老实git clone git@gitee.com:xxxxxxxxxxxx.git下来,这时候就方便pull origin master 将服务器上新的内容下拉更新到本地上,或者commit之后push新内容上去。

初始配置:

进入一个新的文件后先看看有没有配置gitee:

        git config --global --list

若没有配置:

        配置用户名: git config --global user.name "your name "

        配置邮箱:git config --global user.email "your email"

代码推送:

        首先初始化:git init

        增加代码: git add .

        提交代码到仓库:git commit -m "related_message"   

        查看是否已有远程仓库地址: git remote -v    

                若无:添加远程仓库地址,这里就是添加在gitee上建立的仓库地址:git remote add origin https://gitee.com/****/****.git

    下拉代码,将远程最新的代码先跟你本地的代码合并一下:git pull origin 远程分支名

    将代码推至远程: git push origin master或者远程分支名(development)

其他可用指令:

                 git status  -查看状态

        git log   -查看提交日志  查看提交历史记录     

        git branch    -查看所有分支,看到* 分支,则为当前所在分支   

几个使用场景:

        个人日常使用:

1)先有本地仓库,再有远程仓库
        1.在本地新建文件夹
        2.编写代码
        3.新建远程仓库
        4.将本地得文件夹初始化到本地仓库
            >git init
        5.将代码提交到本地仓库
            >git add .
        6.编写提交信息
            >git commit -m '[康杰]第一次修改'
        7.绑定本地仓库与远程仓库
              >git remote add origin https://...git
        8.提交到远程仓库    
             >git push origin master
2)先有远程仓库,再有本地仓库
        1.在gitee上新建仓库
        2.在本地新建文件夹
        3.将远程仓库得代码克隆到本地文件夹
               >git clone https://....git
        4.编写代码
        5.将代码提交到本地仓库
            >git add .
            >git commit -m '[kangjie]第一次提交/修改了' 提交到本地仓库
            如果报错需要配置用户名密码  (第一次使用gitee可能需要操作)
                  >git config --global user.name "willsonkang1"  (用户名)
                  >git config --global user.email "2681091754@qq.com"  (邮箱)
            >git push origin master  提交到远程仓库 

     团队使用:

1. 新建远程仓库(组长)
 2. 邀请合作者
        管理 -> 仓库成员管理 -> 邀请用户  
 3. 被邀请者在邮箱进行同意
  4. 进行多人开发
        > git clone 地址
          团队编写代码
         > git add .
         > git commit -m 'message'
         > git pull origin master (更新远程仓库代码到本地   **很重要)
         > git push origin master (提交本地仓库到远程)

        分支开发:

    1、创建并进入tabbar分支(只是本地有该分支,远程还没有)
      git checkout -b tabbar     

    2、git branch        查看所有分支,看到* 分支,则为当前所在分支

        master

        * tabbar
    3、在当前tabbar分支上
      git add .
      git commit -m ".."

    4、将本地的 tabbar 分支推送到远程仓库进行保存(此时远程才有该分支)

        git push -u origin tabbar
    5、切换到主支
      git checkout master
    6 、更新主支
      git pull origin master (也许之前更新过了)
    7、主支合并分支
      git merge --no-ff 分支名称   (--no-ff 在这的作用是禁止快进式合并。)
        
        如果这条命令出问题后想停止合并:    git merge --abort        

    8、提交主支
      git push origin master

    9、删除本地分支(远程还有该分支代码)

        git branch -d tabbar

        

### 关于 Gitee 操作系统实验 3.2 Lab1_1 的系统调用 在操作系统课程的相关实验中,通常会涉及基础的系统调用操作。根据提供的参考资料[^1],可以推测该实验可能位于 `Documentations/lab1/README.md` 文件下。然而,具体到实验 3.2 中的 Lab1_1 部分,其核心内容应围绕系统调用展开。 以下是关于系统调用的一个典型示例代码片段: ```c #include <stdio.h> #include <unistd.h> int main() { pid_t pid; printf("Before fork()\n"); pid = fork(); // 使用 fork 创建子进程 if (pid == 0) { // 子进程中执行 printf("Child process: PID=%d\n", getpid()); } else if (pid > 0) { // 父进程中执行 printf("Parent process: Child PID=%d, Parent PID=%d\n", pid, getpid()); } else { // 错误处理 perror("fork failed"); return 1; } return 0; } ``` 上述代码展示了如何通过 `fork()` 系统调用来创建一个新的进程,并分别打印父进程和子进程的信息。此代码可作为学习系统调用的基础案例之一。 对于更具体的实验文档或代码实现细节,建议访问链接中的仓库地址并查阅路径下的文件说明。如果无法直接获取相关内容,则可以通过以下方式进一步探索: - **阅读 README 文件**:进入指定目录后查看是否存在针对 Lab1_1 的详细描述。 - **搜索关键词**:尝试在本地克隆后的代码库中使用命令行工具(如 `grep`)来定位特定函数名或关键字。 #### 进一步补充知识点 除了基本的 `fork()` 调用外,在 Linux 平台上还存在其他常用的系统调用方法,例如但不限于: - `exec*` 家族用于替换当前程序镜像; - `wait/waitpid` 函数等待子进程结束; - I/O 类型的操作如 `read/write/open/close`。 这些都可能是实验设计过程中所覆盖的内容范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值