git的使用

https://www.cnblogs.com/sundaysme/p/10901249.html

 

git的使用

 

1.在命令行中,输入“git init”,使Test文件夹加入git管理;

2.输入“git add .”(不要漏了“.”),将Test文件夹全部内容添加到git。

3.输入“git commit -m "first commit"”(“git commit -m "提交信息"”

4.输入“git remote add origin https://github.com/shench5612390/Test.git”(git remote add origin 你自己的https地址),连接你的guthub仓库。

5.输入“git push -u origin master”,上传项目到Github。这里会要求输入Github的账号密码,按要求输入就可以。

 

如果重复提交错误

最后找到解决办法如下: 

1、先删除远程 Git 仓库

$ git remote rm origin

2、再添加远程 Git 仓库

$ git remote add origin git@github.com:FBing/java-code-generator

如果执行 git remote rm origin 报错的话,我们可以手动修改gitconfig文件的内容

$ vi .git/config

这里写图片描述

 

把 [remote “origin”] 那一行删掉就好了。

 

1 git 配置

git config --global user.name “用户名”

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

2 生成公钥私钥

#ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

一路Enter下去,将生成的公钥填在码云上

#cat ~/.ssh/id_rsa.pub

 

3建立git仓库

在你的项目文件夹下执行git命令

git init

4 将项目文件添加到仓库中

git add .

5 将add的文件commit到仓库

git commit -m '备注'

6 将本地仓库关联到码云上

git remote add origin git@gitee.com:shiqingqing/test.git

7 上传码云前要先pull 下

git pull origin master --allow-unrelated-histories

8  最后一步 上传代码到码云仓库

git push -u origin master 

 

1.用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 remote add origin**************

fatal: remote origin already exists.(报错远程起源已经存在。)

上网查了下,有很多小白遇到过这个问题,以下是网上摘取的解决办法,

解决办法如下:

1、先输入 git remote rm origin

2、再输入 git remote add origin**************

这样就不会报错了!

  • 第二个问题

git remote add origin******

The authenticity of host 'github.com ' can't be established(无法建立主机“github.com”的真实性)

这是由于你的git地址采用了ssh方式,切换为https方式即可,也可能是你的仓库地址不对,可以用命令先查看一下:

 git remote -v

如果跟你的github地址不一样,那就去你的github上复制一下仓库地址

然后在终端中输入:

git remote set-url origin https://github.com/yourname/learngit.git (这个是你的复制的仓库地址)

最后再push下就可以了!

git push origin master 

 

 

git pull origin master

这时候会提示自动合并失败,README.md文件文件存在冲突,报错如下

 

2、解决冲突:本地打开README.md文件,会出现如下错误

 

“<<<<<<< HEAD”到“=======”是你本地改动的内容,“=======”到 “>>>>>>> 2f3ba214fb"之间是gitee改动内容。

选择自己要保存的代码内容,删除=======和>>>>>>>符号

最后执行

git add README.md

git commit -m '解决README.md冲突'

 

git branch --set-upstream 本地关联远程分支

 

最近使用git pull的时候多次碰见下面的情况:

There is no tracking information for the current branch.

Please specify which branch you want to merge with.

See git-pull(1) for details.

git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

git branch --set-upstream-to=origin/<branch> release

其实,输出的提示信息说的还是比较明白的。

使用git在本地新建一个分支后,需要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。

关联目的是在执行git pull, git push操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你。

解决方法就是按照提示添加一下呗:

git branch --set-upstream-to=origin/remote_branch  your_branch

其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

 

 

Updates were rejected because the tip of your current branch is behind

2016年05月11日 09:29:37 Michael10001 阅读数:43472更多

个人分类: git

 

有如下几种解决方法:

 

1.使用强制push的方法:

 

$ git push -u origin master -f 

 

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

 

2.push前先将远程repository修改pull下来

 

$ git pull origin master

 

$ git push -u origin master

 

3.若不想merge远程和本地修改,可以先创建新的分支:

 

$ git branch [name]

 

然后push

 

$ git push -u origin [name]

 

 

 

问题

 

1、本地初始化了git仓库,放了一些文件进去并进行了add操作和commit提交操作;

 

$git add -A

$git commit -m "start 2018-06-06"

 

2、github创建了git仓库并建立了README文件;

  

 

3、本地仓库添加了github上的git仓库作为远程仓库,起名origin;

 

$git remote add origin https://github.com/tielemao/TielemaoMarkdown

 /GitAddRemote

4、问题来了,本地仓库在想做同步远程仓库到本地为之后本地仓库推送到远程仓库做准备时报错了,错误如下:

 

fatal: refusing to merge unrelated histories 

(拒绝合并不相关的历史)

 

解决

 

出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。

 

查阅了一下资料,发现可以在pull命令后紧接着使用--allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)。

 

命令:

 

$git pull origin master –allow-unrelated-histories

以上是将远程仓库的文件拉取到本地仓库了。 

紧接着将本地仓库的提交推送到远程github仓库上,使用的命令是:

 

$ git push <远程主机名> <本地分支名>:<远程分支名>

也就是

$git push origin master:master

提交成功。

GitPushRemote

 

pull

 git pull 命令基本上就是 git fetch 和 git merge 命令的组合体,Git 从指定的远程仓库中抓取内容,然后马上尝试将其合并进你所在的分支中。

 从远程仓库中获得数据,可以执行:

$ git fetch [remote-name]

这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

 但是注意的是 git fetch 并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。

 如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。

 

由于fetch命令后还要再做一步merge命令的操作,所以使用 git pull 命令来自动的抓取然后合并远程分支到当前分支。 (相当于一次执行fetch加merge命令)这可能会是一个更简单或更舒服的工作流程

posted @ 2019-07-04 19:13  sundaysios  阅读(136)  评论(0编辑  收藏  举报