git常用命令及github和gitee项目的传输和同步

git常用命令

git add  .  
#添加单个文件
git add /home/serinus/xxx/xxx 
git commit  -m   “提交信息”
#第一次需要关联邮箱
git config --global user.email "xxxxxxx@xx.com"
#推送,此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码
git push -u origin master

修改.git文件夹内的config文件:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = git@github.com:chloneda/demo.git
	fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
	remote = origin
	merge = refs/heads/master

查看、添加、提交、删除、找回,重置修改文件

git help <command> # 显示command的help  

git show # 显示某次提交的内容 git show $id  

git co -- <file> # 抛弃工作区修改  

git co . # 抛弃工作区修改  

git add <file> # 将工作文件修改提交到本地暂存区  

git add . # 将所有修改过的工作文件提交暂存区  

git rm <file> # 从版本库中删除文件  

git rm <file> --cached # 从版本库中删除文件,但不删除文件  

git reset <file> # 从暂存区恢复到工作文件  

git reset -- . # 从暂存区恢复到工作文件  

git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改  

git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做                                    git ci -am "some comments"  

git ci --amend # 修改最后一次提交记录  

git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象  

git revert HEAD # 恢复最后一次提交的状态  

查看文件diff

git help <command> # 显示command的help  

git show # 显示某次提交的内容 git show $id  

git co -- <file> # 抛弃工作区修改  

git co . # 抛弃工作区修改  

git add <file> # 将工作文件修改提交到本地暂存区  

git add . # 将所有修改过的工作文件提交暂存区  

git rm <file> # 从版本库中删除文件  

git rm <file> --cached # 从版本库中删除文件,但不删除文件  

git reset <file> # 从暂存区恢复到工作文件  

git reset -- . # 从暂存区恢复到工作文件  

git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改  

git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做                                    git ci -am "some comments"  

git ci --amend # 修改最后一次提交记录  

git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象  

git revert HEAD # 恢复最后一次提交的状态  

查看提交记录

git log git log <file> # 查看该文件每次提交记录  

git log -p <file> # 查看每次详细修改内容的diff  

git log -p -2 # 查看最近两次详细修改内容的diff  

git log --stat #查看提交统计信息  

tig

Mac上可以使用tig代替diff和log,brew install tig

Git 本地分支管理

查看、切换、创建和删除分支

git br -r # 查看远程分支  

git br <new_branch> # 创建新的分支  

git br -v # 查看各个分支最后提交信息  

git br --merged # 查看已经被合并到当前分支的分支  

git br --no-merged # 查看尚未被合并到当前分支的分支  

git co <branch> # 切换到某个分支  

git co -b <new_branch> # 创建新的分支,并且切换过去  

git co -b <new_branch> <branch> # 基于branch创建新的new_branch  

git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除  

git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支  

git br -d <branch> # 删除某个分支  

git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)  

分支合并和reba

git merge <branch> # 将branch分支合并到当前分支  

git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交  

git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>  
Git补丁管理(方便在多台机器上开发同步时用)
git merge <branch> # 将branch分支合并到当前分支  

git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交  

git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>  

Git暂存管

git stash # 暂存  

git stash list # 列所有stash  

git stash apply # 恢复暂存的内容  

git stash drop # 删除暂存区  

Git远程分支管理

git pull # 抓取远程仓库所有分支更新并合并到本地  

git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并  

git fetch origin # 抓取远程仓库更新  

git merge origin/master # 将远程主分支合并到本地当前分支  

git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支  

git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上  

git push # push所有分支

git push origin master # 将本地主分支推到远程主分支  

git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)  

git push origin <local_branch> # 创建远程分支, origin是远程仓库名  

git push origin <local_branch>:<remote_branch> # 创建远程分支  

git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支  

bash Git远程仓库管

git remote -v # 查看远程服务器地址和仓库名称  

git remote show origin # 查看远程服务器仓库状态  

git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址  

git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库 

创建远程仓库

git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库  

scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上  

mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库  

git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址  

git push -u origin master # 客户端首次提交  

git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track  

git remote set-head origin master # 设置远程仓库的HEAD指向master分支 

设置跟踪远程库和本地库

git branch --set-upstream master origin/master  

git branch --set-upstream develop origin/develop  

项目的传送

方法一

1.进入Github首页,点击New repository新建一个项目

2.填写相应信息后点击create即可

Repository name: 仓库名称

Description(可选): 仓库描述介绍

Public, Private : 仓库权限(公开共享,私有或指定合作者)

Initialize this repository with a README: 添加一个README.md

gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore

license: 证书类型,对应生成文件LICENSE

3.点击Clone or dowload会出现一个地址,copy这个地址备用。

4.git clone 网址

5.本地项目文件夹下面就会多出个文件夹,该文件夹名即为你github上面的项目名,我们把本地项目文件夹下的所有文件(除了新多出的那个文件夹不用),其余都复制到那个新多出的文件夹下。

6.cd 进入文件夹

7.接下来依次输入以下代码即可完成其他剩余操作:

git add  .  

注:别忘记后面的.,此操作是把项目文件夹下面的文件都添加进来
添加单个文件:

git add /home/serinus/xxx/xxx 
git commit  -m   “提交信息”

(注:“提交信息”里面换成你需要,如“更新”)

第一次需要关联邮箱

git config --global user.email "xxxxxxx@xx.com"

推送

git push -u origin master

(注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)

方法二

1.我们需要先创建一个本地的版本库(其实也就是一个文件夹)。

2.cd进入文件夹,通过命令git init把这个文件夹变成Git可管理的仓库

这时你会发现里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。

3.这时候你就可以把你的项目粘贴到这个本地Git仓库里面(粘贴后你可以通过git status来查看你当前的状态),然后通过git add把项目添加到仓库(或git add .把该目录下的所有文件添加到仓库,注意点是用空格隔开的)。在这个过程中你其实可以一直使用git status来查看你当前的状态。

4.用git commit把项目提交到仓库。 -m后面引号里面是本次提交的注释内容,这个可以不写,但最好写上,不然会报错,详情自行Google。

5.我们本地Git仓库这边的工作做完了,下面就到了连接远程仓库(也就是连接Github)
创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建ssh-keygen -t rsa -C "xxx@qq.com"

然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件

6.登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。

7.在Github上创建一个Git仓库。

8.在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:

$ git remote add origin 仓库名

关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:git push -u origin master

由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:git push origin master

这时候你再重新刷新你的Github页面进入刚才新建的那个仓库里面就会发现项目已经成功上传了:

至此就完成了将本地项目上传到Github的整个过程。

注意

上面第七步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/xxxx/xxxx.git的错。

这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:

git pull --rebase origin master

这时你再push就能成功了。

总结

 1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;

 2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;

 3、再通过git commit -m “注释内容”把项目提交到仓库;

 4、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remote add origin https://github.com/guyibang/TEST2.git将本地仓库和远程仓库进行关联;

 5、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。

项目的同步

方法一:命令方式同步

先删除已关联的名为origin的远程库:git remote rm origin

然后,再关联GitHub的远程库:git remote add github git@github.com:chloneda/demo.git

接着,再关联码云的远程库:git remote add gitee git@gitee.com:chloneda/demo.git

方法二:配置方式同步

修改.git文件夹内的config文件:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = git@github.com:chloneda/demo.git
	fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
	remote = origin
	merge = refs/heads/master

将上述文件内容[remote “origin”]内容复制,修改origin名称,内容如下:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "github"]
	url = git@github.com:chloneda/demo.git
	fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
	url = git@gitee.com:chloneda/demo.git
	fetch = +refs/heads/*:refs/remotes/gitee/*
[branch "master"]
	remote = origin
	merge = refs/heads/master

查看远程库

通过以上两种方式的任一种方式配置完成后,我们用git remote -v查看远程库信息:

gitee   git@gitee.com:chloneda/demo.git (fetch)
gitee   git@gitee.com:chloneda/demo.git (push)
github  git@github.com:chloneda/demo.git (fetch)
github  git@github.com:chloneda/demo.git (push)

可以看到两个远程库,说明配置生效了。

上传代码

git add .
git commit -m "update"

提交到github

git push github master

提交到码云

git push gitee master

更新代码

从github拉取更新

git pull github

从gitee拉取更新

git pull gitee

注:

上述过程中,更新或提交代码时可能会遇到fatal:refusing to merge unrelated histories (拒绝合并无关的历史) 错误,解决办法:

首先将远程仓库和本地仓库关联起来。

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

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

然后使用git pull整合远程仓库和本地仓库

git pull --allow-unrelated-histories    (忽略版本不同造成的影响)

重新更新、提交即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要同时配置gitgithubgitee,您需要按照以下步骤操作: 1. 在githubgitee上创建账户并创建仓库。 2. 在本地计算机上安装git。 3. 打开终端或命令行窗口,输入以下命令来配置gitgit config --global user.name "Your Name" git config --global user.email "youremail@example.com" 这将设置您的用户名和电子邮件地址,以便在提交代码时进行身份验证。 4. 生成SSH密钥并将其添加到您的githubgitee账户中。在终端或命令行窗口中输入以下命令: ssh-keygen -t rsa -C "youremail@example.com" 然后按照提示操作,将生成的公钥添加到您的githubgitee账户中。 5. 在本地计算机上创建一个新的git仓库,并将其与githubgitee仓库关联。在终端或命令行窗口中输入以下命令git init git remote add origin git@github.com:yourusername/yourrepository.git git remote set-url --add origin git@gitee.com:yourusername/yourrepository.git 这将创建一个新的git仓库,并将其与您的githubgitee仓库关联。 6. 将您的代码添加到git仓库中,并将其推送到githubgitee仓库中。在终端或命令行窗口中输入以下命令git add . git commit -m "Initial commit" git push -u origin master 这将将您的代码添加到git仓库中,并将其推送到您的githubgitee仓库中。 现在,您已经成功地配置了gitgithubgitee,并可以开始使用它们来管理您的代码了。 ### 回答2: Git是一款非常好用的版本管理系统,我们可以在其中配置多个远程仓库。这意味着我们可以在同一个本地Git仓库中,同时管理多个远程仓库,以实现不同平台之间的代码同步。 当我们使用Git时,首先需要在本地配置git的全局用户信息,如下所示: ``` $ git config --global user.name "Your Name" $ git config --global user.email "youremail@example.com" ``` 之后,我们需要在本地Git仓库中配置远程仓库的地址。假设我们要同时配置GitHubGitee,那么我们需要执行以下命令: ``` $ git remote add github https://github.com/yourusername/repo.git $ git remote add gitee https://gitee.com/yourusername/repo.git ``` 其中,"yourusername"是你在对应平台上的用户名,"repo.git"是你的仓库名称。执行以上命令后,Git会在本地仓库中添加两个远程仓库:githubgitee。 接下来,我们可以使用push命令将本地代码同步到远程仓库。如果我们要将代码同步GitHubGitee,可以使用以下命令: ``` $ git push github master $ git push gitee master ``` 其中,"master"是分支名称,你也可以更改为其他分支名称。 除了push命令,我们还可以使用pull、fetch等命令从远程仓库获取代码或将远程仓库的代码合并到本地仓库中。 需要注意的是,当同一个本地仓库同时配置多个远程仓库时,你需要决定将哪一个仓库设为默认仓库,以防止误操作。你可以使用以下命令来设置默认仓库: ``` $ git push -u github master ``` 以上命令中的"-u"选项表示将github设置为默认仓库,以后在执行push命令时,就可以不用指定远程仓库的名称了。 综上所述,Git同时配置GitHubGitee非常简单,只需要执行几个简单的命令即可。只要你掌握了以上知识,就可以轻松实现多平台代码同步。 ### 回答3: Git 是一款强大的版本控制工具,可以为项目的开发和管理带来很多便利。在开发过程中,我们通常会将代码托管到代码托管平台上,比如 GithubGitee。为了更好地管理Git项目,我们需要配置 Git,以便同时连接 GithubGitee 两个平台。 首先,我们需要在GithubGitee上分别创建账号并登录。然后,我们需要生成 SSH key 并将其添加到 GithubGitee 上,以便在上传代码时进行身份验证。我们可以通过以下命令来生成 SSH key : ``` ssh-keygen -t rsa -C "your_email@example.com" ``` 生成成功后,我们需要在 GithubGitee 上的个人设置页面中添加 SSH key。 接下来,我们需要在本地以 Git Bash 的形式打开 Git ,在控制台中输入如下命令,来配置 GithubGitee : ``` git config --global user.name "用户名" git config --global user.email "邮箱地址" ``` 具体的用户名和邮箱地址需要根据自己的账号信息进行设置。这些信息会在用 Git 上传代码时作为身份信息,所以一定要输入正确的信息。 在 GithubGitee 的 repository 页面上,我们可以找到 Clone or download 按钮,在弹出的框中复制仓库的 SSH 地址。然后,我们可以使用如下命令克隆代码到本地: ``` git clone git@github.com:yourname/repository.git git clone git@gitee.com:yourname/repository.git ``` 其中,yourname 和 repository 分别是 GithubGitee 账号中相应的用户和仓库名。 当我们需要 Push 代码时,需要指定远程仓库的名字。我们可以使用如下命令添加远程仓库: ``` git remote add gitee git@gitee.com:yourname/repository.git git remote add github git@github.com:yourname/repository.git ``` 其中,giteegithub 分别是远程仓库的名字。我们可以使用如下命令将代码 Push 到对应的平台上: ``` git push gitee master git push github master ``` 以上就是同时配置 GithubGitee 的全部过程。在开发过程中,我们应当及时 Pull 远程仓库的代码,避免产生代码冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值