Git 操作说明

本文详细介绍了如何使用Git进行基本操作,包括将远程仓库拉到本地、在特定分支上创建新分支、更新代码至远程仓库以及解决本地修改与远程库冲突的方法。此外,还提供了git stash、git pull和git push的使用技巧。

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

如何将远程仓库拉到本地:

$  git clone  -b morgan_debug https://github.com/DavidLining/3D_PathPlanner.git 

其中, -b morgan_debug是可选项,用来指定分支。

如何在某一个分支A上创建分支B:

1. 先查看当前本地仓库的远程分支是否是A(下面的例子是morgan_debug)

$ git status
On branch morgan_debug
Your branch is up to date with 'origin/morgan_debug'.

2. 如果不是A则切换到分支A,然后拉取分支代码

$ git checkout morgan_debug 

$ git pull origin morgan_debug 

3. 在本地仓库目录下执行如下命令来创建分支new_branch

$ git checkout -b new_branch

4. 最后使用push命令将该分支推送到主线origin上

$ git push origin new_branch

修改完代码后,如何将代码更新至远程仓库:

1. $ git status //查看工作区代码相对于暂存区的差别, 

2. $ git add . 或 $ git add xxx.c 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录

3. 使用git commit命令将修改从暂存区提交到本地版本库

4. $ git push origin morgan_debug 将改动推至远程分支(morgan_debug)

更新本地库:

git status(查看本地分支文件信息,确保更新时不产生冲突)

git checkout – [file name] (若文件有修改,可以还原到最初状态; 若文件需要更新到服务器上,应该先merge到服务器,再更新到本地)

git branch(查看当前分支情况)

git checkout morgan_debug (切换到服务器端远程分支morgan_debug)

git pull 拉取代码
 

本地修改与远程库冲突:

来源链接:https://www.jianshu.com/p/920ad324fe64

.用git pull来更新代码的时候,遇到了下面的问题:error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please, commit your changes or stash them before you can merge. Aborting
出现这个问题的原因是其他人修改了xxx.php并提交到版本库中去了,而你本地也修改了xxx.php,这时候你进行git pull操作就好出现冲突了,解决方法,在上面的提示中也说的很明确了。
保留本地的方式修改(强烈推荐,还有一种是直接拉取服务器的(不推荐使用就不写了),这样你本地修改的代码的,就会舍弃,相当于你写的代码直接没,你还的重新写)

步骤如下:

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

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

git pull:拉取服务器上的代码;

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

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

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

git push使用说明: https://www.cnblogs.com/djiankuo/p/6492533.html , https://git-scm.com/docs/git-push 

git push -f 强推,强制将本地代码覆盖远程分支

 

### Git 使用指南及常用操作 Git 是一种分布式版本控制系统,广泛用于软件开发和协作。以下是关于 Git 的一些常见操作及其详细说明。 #### 1. 初始化本地仓库 在使用 Git 前,需要初始化一个本地仓库。可以通过以下命令完成: ```bash git init ``` 这会在当前目录下创建一个名为 `.git` 的隐藏目录,作为版本库[^2]。 #### 2. 配置用户信息 为了标识提交的作者信息,需要设置用户的姓名和邮箱: ```bash git config --global user.name "Your Name" git config --global user.email "your.email@example.com" ``` 此配置将应用于所有 Git 项目中[^2]。 #### 3. 工作区、暂存区与版本库的关系 - **工作区**:开发者实际编辑文件的地方。 - **暂存区**(Staging Area):用于存放即将提交到版本库的文件更改。 - **版本库**(Repository):存储所有历史记录和元数据的地方。 当对文件进行修改后,需先将其添加到暂存区,再提交到版本库[^3]。 #### 4. 添加文件到暂存区 使用以下命令将文件从工作区添加到暂存区: ```bash git add <file> ``` 若要一次性添加所有文件,则可以使用: ```bash git add . ``` #### 5. 提交更改到版本库 通过 `git commit` 命令将暂存区的内容提交到版本库,并附带一条描述信息: ```bash git commit -m "提交信息" ``` #### 6. 查看状态 可以随时查看当前工作区和暂存区的状态: ```bash git status ``` #### 7. 远程仓库的操作 - **关联远程仓库**:将本地仓库与远程仓库关联起来。 ```bash git remote add origin git@github.com:username/repo-name.git ``` - **推送代码到远程仓库**:将本地提交推送到远程仓库。 ```bash git push -u origin master ``` 首次推送时需要指定分支名称,后续可以直接使用 `git push`[^4]。 #### 8. 分支管理 - **创建新分支**: ```bash git branch new-branch-name ``` - **切换分支**: ```bash git checkout new-branch-name ``` - **合并分支**:将一个分支的内容合并到当前分支。 ```bash git merge branch-name ``` - **删除分支**: ```bash git branch -d branch-name ``` #### 9. 克隆远程仓库 如果需要从远程仓库复制一份代码到本地,可以使用 `git clone` 命令: ```bash git clone git://github.com/username/project.git ``` #### 10. 撤销操作 - **撤销暂存区的更改**: ```bash git reset HEAD <file> ``` - **丢弃工作区的更改**: ```bash git checkout -- <file> ``` #### 11. 日志查看 可以通过以下命令查看提交历史: ```bash git log ``` 简化输出格式: ```bash git log --oneline ``` --- ### 示例代码 以下是一个完整的 Git 工作流程示例: ```bash # 初始化仓库 git init # 配置用户信息 git config --global user.name "Your Name" git config --global user.email "your.email@example.com" # 添加文件到暂存区 git add . # 提交更改 git commit -m "Initial commit" # 关联远程仓库 git remote add origin git@github.com:username/repo-name.git # 推送代码 git push -u origin master ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值