git 笔记集合

本地代码关联到仓库:

找个位置,新建一个文件夹作为本地存放的位置,第一次使用上传会弹窗要求登录验证。

上传流程
git init

git config --global user.email “你的邮箱”

git config --global user.name “你的用户名” (如果已经配置好了好像就不用再次配置了)

git add . (指上传该文件夹内所有文件)

git commit -m “本次上传的概要描述”

git branch -M main(这里的main可以改)

git remote add 命名 代码仓库的地址(执行后弹窗验证,这里是绑定远程源,命名在默认例子中使用的是origin)

git pull --rebase 命名 main(这里的main要跟着前面改,第一次上传可以跳过这一步)

git push -u 命名 main(这里的main要跟着前面改,git push -u origin master 相当于git branch --set-upstream-to=origin/master master//将远程仓库origin的master分支与本地仓库master分支关联加git push origin master)

后面每次提交基本都需要add->commit->pull->push这个过程。提交后刷新网页查看是否上传成功
 

举个例子:我要把本地分支master与远程仓库origin里的分支gaga建立关联。
(如果使用下列途径1的话,首先,你要切换到master分支上(git checkout master))
两个途径:1. git push -u origin gaga 2. git branch --set-upstream-to=origin/gaga master
这两种方式都可以达到目的。但是1方法更通用,因为你的远程库有可能并没有gaga分支,这种情况下你用2方法就不可行,连目标分支都不存在,怎么进行关联呢?

git fetch origin master

执行这个命令后,就会将远程版本库上的代码同步到本地,不过同步下来的代码并不会合并到任何分支上去,而是会存放到一个叫origin/master分支上,这时我们可以通过diff命令来看远程版本库上到底修改了哪些东西:git diff orgin/master 之后再调用merge命令将origin/master 分支上的修改合并到主分支上即可,git merge origin/master .而pull命令则是相当于将fetch和merge这两个命令放在一起执行了,它可以从远程版本库上获取最新的代码并且合并到本地:git pull origin master

通过git命令创建远程仓库分支
先把github上相应的仓库克隆到本地,然后执行以下命令:

1、git branch                   // 查看当前分支情况

2、git branch test           // 新建一个分支test

3、git checkout test         // 切换到新建的分支test

(git checkout -b test  直接建立分支并且切换到新分支上;git checkout -b test origin/main  建立分支切换到新分支上,直接关联到远程分支上)

4、git push origin test  或者 git push origin test:test           // 将新建分支test推送到GitHub上

                如果新建分支名和远程分支名不一样,可使用git push origin HEAD:master

重新建立本地和远端的连接

  • $ git remote remove origin
  • $ git remote add origin git@github.com:XXX/XXX.github.io.git
  • $ git push origin master

git 命令:

// 将修改文件生成 diff 文件
git diff --full-index > 201812141040.diff

// 将指定的修改文件生成 diff 文件
git diff --full-index [你的文件名 ...] > 201812141040.diff

git update-index --assume-unchanged <files> 强制忽略文件
git update-index --no-assume-unchanged <files> 取消强制忽略文件

撤销分支的合并Merge:

第一步:找到最后一次提交到master分支的commit_id,即merge前的commit_id,也就是目标要回退到的commit_id。

第二步:在当前分支,打开终端,执行命令回退 git reset --hard commit_id

第三步:将回退好的分支强推到远程:git push origin HEAD --force。

git创建远程分支:

(1)

第一步:首先我们先将远程分支master的代码clone到本地,命令:git clone https连接/ssh密钥;

第二步:拉取代码完成后,进入本地代码文件,在文件中打开Git Bash,进入后输入命令:git branch -a ,查看远程所有的分支;

 第三步:确定个人分支名(这里我就用自己的分支进行test),输入命令:git checkout -b new-test ,这样就切换到自己的分支下 ;

 第四步:这时候将个人分支push到远程,此时会在远程建立new-test分支:git  push origin new-test ;

第五步:将本地创建的分支与远程的分支进行关联:git branch --set-upstream-to=origin/new-test ,或者使用:git branch- u origin/new-test new-test (new-test名可省略,前提是本地在new-test分支上);

注:第四步和第五步合并为:git push -u origin new-test

第六步:查看本地分支和远程分支的映射关系:git branch -vv ;

第七步:查看远程分支: git branch -r ;

第七步:查看本地各个分支目前最新的提交: git branch  -v  ;

第八步:查看远程各个分支目前最新的提交:git branch -r -v ;

(二)

第二种本地分支关联远程分支:

如果远程新建了一个new-test分支,本地没有该分支

可以利用 git checkout --track origin/new-test ,这时本地会新建一个分支名叫 new-test,会自动跟踪远程的同名分支 new-test

删除远程分支:

目前有两种命令 :git push origin :new-test 和 git push origin --delete new-test

不需要本地commit时

在确定不需要这些本地提交的内容,并且希望直接将本地分支 new-test 的状态更新为与远程分支 origin/new-test完全一致,执行以下命令:

第一步:git reset --hard origin/new-test(强制重置 new-test 分支到 origin/new-test);当有很多commit都不需要时,如果只有几条可以使用git reset --hard HEAD        

第二步:(可选)确保您的工作区干净并更新远程追踪分支信息

git clean -fd 清除未跟踪文件和目录 ;git fetch --prune  更新远程分支信息并移除已删除的远程分支


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值