Git的具体使用

常用Git软件的有github,gitlab,gitee,码云等,这些功能都差不多,操作方式也基本上一样。接下来以GitHub为例,讲述如何将自己本地的代码提交上去。
1、登录GitHub官网,注册一个GitHub账号;
2、安装Git软件;
参考CSDN:
怎么样把本地的代码上传到git上
git如何将本地文件关联到远程服务器
git从远程仓库拉取代码修改并提交和本地代码提交到远程仓库

一、git从远程仓库拉取代码修改并提交

1.在Github 的个人主页中新建一个仓库,如果clone他人仓库,直接看步骤2
2.复制仓库链接,在实验环境中,将该仓库克隆到本地

git  clone  git[@xxx/xxx.git]  //注:默认拉取的是master的分支上的代码
git  clone  git[@xxx/xxx.git] -b 分支名

3.进入克隆到本地的仓库目录,输入以下命令,对文件进行修改
4.使用git add --all命令,添加仓库内的所有文件
5.使用git commit、git remote、git push命令,将本地仓库同步到Github中

整体流程代码:

git  clone  git[@xxx/xxx.git]  //注:默认拉取的是master的分支上的代码
git  clone  git[@xxx/xxx.git] -b 分支名
​
//若分支不对,需要切换分支
    git remove -v    //查看远程仓库地址否错误
    git branch -al    //查看本地和远程仓库的所有分支(master是本地分支,*表示当前正在使用的分支)
                      //若报错找不到路径输入git init
    git branch -vv    //查看分支是否绑定
    git checkout [分支名字]  //切换到正确分支,开始拉代码

二、git将本地仓库代码关联远程仓库,可以关联多个远程

1、(进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库

2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件

3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明:git commit -m 'first commit'

4、关联到远程库 git remote add origin 你的远程库地址 git remote add origin git@git.oschina.net:yourname/demo.git

5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败git pull or git pull --rebase origin master

git pull命令在更新远端代码的同时如果与本地代码产生冲突了, 那么冲突的文件中就出现了需要手动合并的部分

正常的解决冲突过程是

1,git add .

2,git commit -m “…”

3,git push时因为本地仓库代码与远程仓代码有冲突,所以接下来

4,git pull拉取远程代码,而冲突需要手动解决

5,解决好后重新进行git add . git commit -m"…" git push

git pull 这一步如果加上了 --rebase的选项,那么第5步操作将变成如下:

git add .

git rebase --continue

git push

所以git pull --rebase用在合并代码的时候其作用就是在一个随机创建的分支上处理冲突,避免了直接污染原来的分区

6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。 git push -u origin master

注:-u选项执行以下操作:对于每个最新或成功推送的分支,添加上游(跟踪)引用,由无参数的git-pull和其他命令使用。 在我们第一次提交git的时候:发现上面用了这个-u参数,也没作解释,特意搜索了下这个-u的用法,加了参数-u后,以后即可直接用git push代替git push origin master

所以,在用-u选项推送本地分支之后,这个本地分支会自动链接到远程分支,并且可以使用没有任何参数的git pull。

整体流程代码:

//初始化
    git init
//关联远程仓库地址
    git remote add origin [git@xxx/xxx.git]
//如果仓库地址错误或更换仓库,取消与远程仓库的连接
    git remote remove origin
    git remote rm origin   //删除origin
// 再次初始化
    git init
//连接新的远程仓库地址
    git remote add origin [git@xxx/xxx.git]
//查看关联了那些远程仓库
    git remove -v 
//更新
    git pull

出现问题:
1、强制推送,即利用强覆盖方式用你本地的代码替代git仓库内的内容

git push -f origin master

2、fatal: remote origin already exists.

git remote rm origin

3、克隆huggingface
git clone https://huggingface.co/bert-base-chinese

4、Git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。远程仓库和本地仓库存在差异。一般都是因为你在码云创建的仓库有ReadMe文件,而本地没有,造成本地和远程的不同步
5、如果提示没有权限更新:则在git远程上添加本地的公共秘钥.
windows本地公共秘钥地址:C:\Users\Administrator.ssh\id_rsa.pub
linux本地公共秘钥地址:~/.ssh/

三、 GitHub中ssh配置

1、在Linux上对git进行全局配置
该配置只需要做一次之后Linux主机上所有git管理项目生效:
在一二之前必须确定ssh是否配置成功,一台主机一个sshkey

git config --global user.name
git config --global user.email

2、Linux上生成SSH key:
ssh-keygen -t rsa -C “*******@.com” <–这里输入自己的邮箱
3、上传Public Key(公钥):
查看public key并拷贝,将公钥添加到github账号的SSH公钥里: cat ~/.ssh/id_rsa.pub
4、 公钥测试:
ssh -T git@gitub.com

四、Git常见命令

git status
查看当前状态,是否和远程仓库的内容是同步的;如果不同步,先pull下来,再下一步;同步则下一步;
git rm -r --cached .
删除本地缓存
git add .
添加所有文件
git commit -m “提交信息”
添加提交说明
git push
提交到远程仓库
git ls-files
命令是用来查看暂存区中文件信息
git branch -a

出现这种情况主要是由于远程仓库太多,且分支较多。在默认情况下,git push时一般会上传到origin下的master分支上,然而当repository和branch过多,而又没有设置关联时,git就会产生疑问,因为它无法判断你的push目标
第一种如上图中的提示:git push --set-upstream origin master。其中的origin是你在clone远程代码时,git为你创建的指向这个远程代码库的标签,它指向repository。为了能清楚了解你要指向的repository,可以用命令git remote -v进行查看。
master是你远程的branch,可以用git branch -a查看所有分支,远程分支是红色的部分。然后确定好这两个值后,将命令中标粗的参数换掉即可。
另一种方法是:git push -u origin master。同样根据自己的需要,替换origin和master。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Roytoyal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值