本地代码关联到仓库:
找个位置,新建一个文件夹作为本地存放的位置,第一次使用上传会弹窗要求登录验证。
上传流程
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 更新远程分支信息并移除已删除的远程分支