一些git基本技巧(updating)

本文详细介绍如何使用Git进行版本控制,包括创建新仓库、检出、添加提交文件、推送改动、分支管理及更新本地仓库等核心操作步骤。

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

网络搜集,侵删.

一. 创建新仓库

    创新新文件夹,打开,然后执行

git init

    以创建新的git仓库

二.检出仓库

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

git clone /path/to/repository

    如果是远端服务器上的仓库,你的命令会是这个样子:

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

三.添加和提交

     你可以提出更改(把它们添加到暂存区),使用如下命令:

git add <filename>
git add * 

    这是git基本工作流程的第一步;使用如下命令以实际提交改动:

git commit -m "something you want to say"

    现在,你的改动已经提交到了HEAD,但是还没到你的远程仓库。

四.推送改动

    你的改动现在已经在本地仓库的HEAD中了,执行如下命令以将这些改动自动提交到远程仓库。

git push origin master

    可以把master换成你想要推送的任何分支。

    如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:

git remote add origin <server>

    如此你就能够将你的改动推送到所添加的服务器上去了。

五.分支

    分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。


创建一个叫做“feature_x”分支,并切换过去:

git checkout -b feature_x

切换回主分支:

git checkout master

再把新建的分支删掉:

git branch -d feature_x

除非你将分支推送到远端仓库,不然该分支就是不为他人所见的:

git push origin<branch>

六.更新

从远程服务器上更新别人上传的文件

1.使用git fetch更新,相当于是从远程获取最新版本到本地,不会自动merge

[html]  view plain  copy
  1. git fetch origin master  
  2. git log -p master..origin/master  
  3. git merge origin/master  
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:

2.使用git pull 更新,相当于是从远程获取最新版本并merge到本地

[html]  view plain  copy
  1. git pull origin master  
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
[html]  view plain  copy
  1. git fetch origin master:tmp  
  2. git diff tmp   
  3. git merge tmp  
从远程获取最新的版本到本地的tmp分支上

之后再进行比较合并

六.替换本地改动

假如你操作失误,可以使用如下命令替换掉本地改动

git checkout -- <filename>

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

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

git fetch origin

git reset --hard origin/master


参考:

1.http://www.runoob.com/manual/git-guide/

2.https://blog.youkuaiyun.com/hanqingsong412/article/details/50466622


### 如何在Git中同步不同分支的代码 要在Git中同步两个不同的分支,可以采用多种方法来实现这一目标。以下是几种常见的技术及其具体操作方式。 #### 方法一:通过合并(Merge) 当需要将一个分支的内容集成到另一个分支时,最常用的方法之一就是执行`merge`命令。假设当前工作目录位于主分支上,并希望将其与开发分支同步,则可以通过如下指令完成: ```bash $ git checkout main # 切换至main分支 Switched to branch 'main' Your branch is up-to-date with 'origin/main'. $ git merge devel # 将devel分支中的更改并入main分支 Updating a20f002..c789d1e Fast-forward README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ``` 上述过程展示了如何切换回主要分支以及随后实施一次快速前进式的合并[^1]。 #### 方法二:变基(Rebase) 另一种保持分支最新状态的方式是利用rebase功能。这种方式会把当前分支上的提交记录重新应用到指定的基础之上,从而使得历史更加线性和清晰。下面的例子说明了如果想让特性分支基于最新的主线版本该如何做: ```bash $ git checkout feature/unzip # 转向feature/unzip分支 Switched to branch 'feature/unzip' $ git rebase main # 基于main分支重写本分支的历史 First, rewinding head to replay your work on top of it... Applying: Add unzip functionality ``` 这里我们先转到了想要更新的那个侧支上去,接着发起了一次针对master分枝的新基础重建动作。 #### 方法三:拉取远程变更(Pull Remote Changes) 如果你正在处理的是远端仓库里的其他人的改动或者自己之前推送出去又修改过的部分,那么pull可能是更合适的选择因为它不仅fetch数据还会自动尝试merge或rebase: ```bash $ git pull origin another-branch --rebase From https://github.com/example/repo * branch another-branch -> FETCH_HEAD First, rebasing your commits onto upstream updates.. Successfully rebased and updated refs/heads/current-working-branch. ``` 此命令从名为another-branch 的远程获取最新内容并通过--rebase选项避免不必要的额外合并提交[^2]. #### 使用图形界面工具简化流程(Xcode Example) 对于偏好GUI环境的人来说,Xcode内置的支持或许能提供便利.它允许开发者完全不用离开IDE就能管理大部分日常所需的git活动,比如创建新分支、解决冲突乃至推送上服务器等等[^3]. 尽管如此,在实际运用这些技巧前,请务必确认已保存所有未提交的工作以防丢失重要信息;另外也要注意保护好那些尚未准备好公开分享的秘密资料! ```python # Python 示例仅用于展示代码块格式化 print("This python snippet demonstrates markdown formatting but does not relate directly.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值