git从服务器克隆代码

1.服务器建立

裸仓库,可以避免直接在仓库中看到源码

git -init bare

2.把客户端的公钥和私钥上传到服务器,可以免密登录

客户端命令需要在你想要复制的目的文件夹中使用git bash打开

git-keygen -t rsa

然后把生成的密钥上传给服务器

在id_rsa.pub中使用复制

cd ~/.ssh

如果.ssh文件夹不存在,需要先使用root登陆一次

ssh localhost

之后

vim authorized_keys

把密钥复粘贴到这里。

3.复制代码

git clone ssh://服务器ip:/代码位置 (想复制到的位置,可不加)

4.配置用户(服务器端不会显示)

加--global代表所有文件夹都应用,否则只在当前目录应用

之后在客户端的.git中有

5.在git中编写代码

编写代码,并提交到暂存区,等累计后提交到服务器

vim filename.h

git add filename.h

//查看暂存区

git status

//把暂存区上传到本地存储区

git commit -m "log filename description"

//上传到远程服务器 master为所选分支, origin为服务器别名不能换

git push origin master

由于在裸仓库中不显示我们上传的代码,所以新建一个连接,并获取服务器的代码

如果连接已经有了,那么用

git pull

6.代码写错后怎么回退

6.1出错文件在暂存区

直接把新文件add就可以了

6.2出错文件在本地仓库

##退回到暂存区

git reset --soft head^

##退回到编译区

git reset --mixed head^

##直接删除

git reset --hard head^

其中head^为版本号指针,可以在git log中找到并替换

7.整理本地仓库(前提是别的分支不会依赖所修改的分支)

7.1单次整理

如果想修改仓库中的描述

git commit --amend

之后直接修改描述

忘记提交一个文件,需要把这个文件和上一次提交合并,那么在add后使用,会和上一次的commit合并。

7.2批量整理

git rebase -i (-h1 -h2如果没有,则整理所有)

想修改哪个提交,则把pick改成e,改成s是合并整理

继续修改下一个,没有则退出

git rebase --continue

查看效果

8 管理分支

#显示分支 -a会显示远程服务器的分支. *为当前所在分支

git branch (-a)

#创建本地分支 new_dev

git branch new_dev

#或者

git switch new_dev

#切换分支

git checkout new_dev

#创建并切换到分支 new_dev2

git checkout -b new_dev2

9.服务器和本地代码数据合并

#首先在一个备用分支上,使用pull来获得服务器数据

git pull

#然后进入到另一个分支,这里两个分支

git checkout new_dev2

#合并

git merge master

#处理文件冲突

vim ...

git add .

#-i代表处理冲突文件 .代表所有文件

git commit . -i -m "merge master fix conflicts"

### 关于 `git clone` 的用法 `git clone` 是一个用于克隆远程 Git 仓库到本地的命令。通过此命令可以复制远程仓库的所有代码及其完整的提交历史记录,并在本地创建一个与远程仓库完全一致的工作副本[^3]。 #### 基本语法 ```bash git clone <repository_url> [<directory_name>] ``` - `<repository_url>` 表示要克隆的远程仓库地址,支持多种协议(如 HTTPS、SSH 等)。 - `[<directory_name>]` 是可选参数,表示目标目录名称。如果不指定,则默认使用远程仓库的最后一部分作为目录名[^4]。 --- #### 支持的协议 `git clone` 支持以下几种常见的协议来访问远程仓库: - **HTTPS**: `$ git clone https://example.com/path/to/repo.git` - **SSH**: `$ git clone ssh://example.com/path/to/repo.git` - **Git 协议**: `$ git clone git://example.com/path/to/repo.git` - **文件路径**: `$ git clone /opt/git/project.git` - **FTP/FTPS**: `$ git clone ftp[s]://example.com/path/to/repo.git` - **Rsync**: `$ git clone rsync://example.com/path/to/repo.git`[^2] --- #### 示例说明 1. 使用 HTTPS 协议克隆仓库至当前工作目录下的同名子目录: ```bash git clone https://github.com/ImDwivedi1/Git-Example.git ``` 2. 将仓库克隆到自定义命名的目标目录中: ```bash git clone https://github.com/ImDwivedi1/Git-Example.git "my_custom_folder" ``` 3. 利用 SSH 协议克隆私有仓库: ```bash git clone ssh://user@example.com/var/git/my_project.git ``` 4. 如果希望仅下载最近的一次提交而不获取整个项目的历史记录,可以通过附加选项实现浅克隆操作: ```bash git clone --depth=1 https://github.com/ImDwivedi1/Git-Example.git ``` 5. 默认情况下,如果未提供目标目录名,Git 会自动截取 URL 中最后的部分并移除 `.git` 后缀作为新的目录名[^4]: ```bash git clone http://git.kernel.org/linux/kernel/git/torvalds/linux-2.6.git # 结果会在当前目录下生成名为 'linux-2.6' 的文件夹。 ``` --- ### 注意事项 - 当执行 `git clone` 操作时,请确保已安装好 Git 工具环境,并配置了必要的身份验证信息(例如用户名和密码或 SSH 密钥)以便成功连接到远程服务器。 - 对于大型仓库来说,建议考虑采用带 `--depth` 参数的方式减少资源消耗以及加快初始化速度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值