Git——创建版本库

本文介绍了如何创建和管理Git版本库。首先,通过`git add`和`git commit`将文件添加到仓库。接着,讨论了远程仓库的配置,包括生成SSH key并验证。此外,还讲解了如何克隆远程仓库,维护本地仓库的三棵‘树’(工作目录、暂存区和HEAD)。最后,提到了如何推送修改到远端以及在需要时替换本地改动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置本地仓库

1、创建git版本库:

hgyy@ubuntu:~$ mkdir Git_Repository
hgyy@ubuntu:~/Git_Repository$ pwd
/home/hgyy/Git_Repository

git init命令把这个目录变成git可以管理的仓库

hgyy@ubuntu:~/Git_Repository$ git init
Initialized empty Git repository in /home/hgyy/Git_Repository/.git/

2、将文件提交到Git仓库

新建文件get_link_status.c并将其放在仓库目录下

第一步,用命令git add告诉Git,把文件添加到仓库暂存区(index):

hgyy@ubuntu:~/Git_Repository$ git add get_link_status.c

第二步,用命令git commit告诉Git,把文件提交到仓库(HEAD):

hgyy@ubuntu:~/Git_Repository$ git commit -m "the first time cubmit the code"
[master (root-commit) 53e540b] the first time cubmit the code
 1 file changed, 74 insertions(+)
 create mode 100755 get_link_status.c

简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."


小结:

添加文件到Git仓库,分两步:


第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;

第二步,使用命令git commit,完成。


二、远程仓库

1、配置本地git

先在本地创建ssh key

$ ssh-keygen -t rsa -C "your_email@youremail.com"
之后一路回车车,成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key到github上的ssh keys里

验证下是否成功,在git bash里输入:

$ ssh -T git@github.com
接下来将本地仓库上传到GitHub上去,首先配置下本地的git

$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"
进入要上传的本地仓库,然后添加远程仓库地址:

$ git remote add origin git@github.com:username/COMPAQ.git
添加完之后进入.git,打开config,这里会多出一个remote "origin"内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

三、检出仓库

创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库。

执行如下命令以创建一个本地仓库的克隆版本:

git clone /path/to/repository 
如果克隆远程仓库:

git clone username@host:/path/to/repository

四、工作流

1、本地仓库由 git 维护的三棵"树"组成

1.当前工作目录,具有实际的工程文件;

2. 暂存区(Index),它像个缓存区域,临时保存你的改动;

3.最后是 HEAD,它指向你最后一次提交的结果。
当对工程文件作出修改后,需要把修改先提交到暂存区:
git add <filename>
git add *
之后,使用如下命令以实际提交改动:
git commit -m "代码提交信息"
现在,改动已经提交到了 HEAD,但是还没提交到远端仓库。

2、推送修改到远端

git push origin master
master可以改为远端你想推送的任意分支

3、替换本地改动

当本地工程工作时出现失误时,可以使用如下命令替换本地修改

git checkout -- <filename>
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:

git fetch origin
git reset --hard origin/master




内容概要:本文档主要展示了C语言中关于字符串处理、指针操作以及动态内存分配的相关代码示例。首先介绍了如何实现键值对(“key=value”)字符串的解析,包括去除多余空格和根据键获取对应值的功能,并提供了相应的测试用例。接着演示了从给定字符串中分离出奇偶位置字符的方法,并将结果分别存储到两个不同的缓冲区中。此外,还探讨了常量(const)修饰符在变量和指针中的应用规则,解释了不同类型指针的区别及其使用场景。最后,详细讲解了如何动态分配二维字符数组,并实现了对这类数组的排序与释放操作。 适合人群:具有C语言基础的程序员或计算机科学相关专业的学生,尤其是那些希望深入理解字符串处理、指针操作以及动态内存管理机制的学习者。 使用场景及目标:①掌握如何高效地解析键值对字符串并去除其中的空白字符;②学会编写能够正确处理奇偶索引字符的函数;③理解const修饰符的作用范围及其对程序逻辑的影响;④熟悉动态分配二维字符数组的技术,并能对其进行有效的排序和清理。 阅读建议:由于本资源涉及较多底层概念和技术细节,建议读者先复习C语言基础知识,特别是指针和内存管理部分。在学习过程中,可以尝试动手编写类似的代码片段,以便更好地理解和掌握文中所介绍的各种技巧。同时,注意观察代码注释,它们对于理解复杂逻辑非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值