GIT的方法,重要

Posted fsg6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GIT的方法,重要相关的知识,希望对你有一定的参考价值。

 

git remote 命令用来管理远程仓库

git remote add 添加远程仓库(实质上是添加远程仓库 URL 的别名)

git remote add origin https://github.com/xiaohigh/test2.git

 

git push

git push 将本地仓库的某个分支推送到远程仓库

git push -u origin master
  • -u 关联(第一次加 u 之后建立分支链接, 后续可以直接使用 git push 进行提交)

  • origin 远程仓库的别名(可以推送小名,也可以推送https地址或者ssh地址)

  • master 本地的分支名

  • git remote -v   查看与github 建立的仓库连接地址

clone 与 pull

  • clone 是将整个仓库的内容都下载回来(第一次)

  • pull 是对指定的分支内容进行拉取(以后每次都可以pull)

  • 关于克隆. 一定要在一个非Git仓库的文件夹下进行,不然造成命令失效

 

git restore --staged 将暂存区的文件移除
git restore index.txt 将工作区修改的文件撤销

git remote -v   查看github 的关联地址

将远端仓库的https地址或者ssh地址的地址添加个小名 ; git remote add nicen git@github.com:h5c3-team/zhuzhi.git  或者 git remote add nicen   https://github.com/xiaohigh/test.git

git commit -m ‘注释内容‘  ,必须是英文的引号

 

 

关于分支污染情况

情况一;master之前提交过1.txt, 然后在创建dev分支, 那么此时dev会有1.txt文件,正常情况
情况二; master中,已经创建dev分支,然后在master中创建了一个文件2.txt,没有提交本地仓库 
那么此时dev中也会有2.txt文件,此时污染了分支dev(如果msater提交了本地仓库,dev中就不会有2.txt了,就不会污染了)

 

每次在切换分支前,需要提交一下当前分支

如果当前分支修改文件,每次在切换分支前,需要提交一下当前分支,因为当前分支文件没提交,会自动在其他分支也会产生.
如果当前分支提交了,则其他的分支就不会产生修改的文件,则各个分支互相独立

 

关于冲突问题

成员一从远端拉取了代码,切换到了主分支dev1,修改了1.html,然后提交到本地仓库,
合并到maser,并推送到远端仓库了,成员二,从远端拉取了代码,切换到了主分支dev2,修改了1.html,然后提交到本地仓库,
合并到maser,并推送到远端仓库,此时,两者就产生了冲突
解决冲突方法,如果分支没用的修改代码可以删除,然后 add和commit,  如果有用(两者修改的),直接add和commit

 

成员协作

成员协作,创建一个协作远端仓库(需要给成员write权限),成员一git push origin master(将代码推送到远端),然后
成员二要获取远端代码,git clone https://github.com/xiaohigh/test2.git (克隆仓库的地址)
然后他修改了代码并git push到远端后,如果成员一以要获取更新的代码, git pull origin master (拉取远端的代码)

每次push代码到远端,都先pull下

如果成员一修改了文件,推送到远端,而成员二,也修改了文件和提交本地仓库了,此时push不了远端,会报错,此时
成员二需要将远端的文件pull下,将远端的代码更新到本地,然后再push下,推到远端
(pull后,会进入vim模式,直接:wq 保存退出即可)

 

关于https地址推送,git有缓存密码机制,但是有缺陷

ssh地址推送,是不需要密码的,需要在github配置下

如何将之前clone(https)的方式改成ssh方式提交呢(可以push时不需要密码)

1. 获取本地和远端连接的地址             git remote -v
2. 将ssh的地址添加个别名nicen,            git remote add nicen git@github.com:h5c3-team/zhuzhi.git
3.然后第一次本地修改代码后,push到远端             git push -u  nicen  master(此时是免密推送)
4.然后第二次本地修改代码后,push到远端            git push (即可),一般不推荐简写  git push  nicen master 

 

 

clone远端仓库代码的两种方式

两种方式clone远端代码,
第一种是,git clone  https://github.com/h5c3-team/zhuzhi.git   index      (  https地址,后面可以跟个参数,文件夹名称),需要输入账号密码(git有密码缓存机制,也不用输入密码,但是push远端需要密码)
第二种, git  clone   git@github.com:h5c3-team/zhuzhi.git   item         (ssh地址,后面可跟参数,文件夹名称),需要配置免密登录,以后拉取代码免密

 

git工作流程

第一次:
1.得到 Git 远程仓库的地址和账号密码,将代码克隆到本地(地址换成自己的),              git clone https://github.com/xiaohigh/test.git
2.切换分支dev,               ( 切换分支前需要master主分支先commit下, 以免一些文件会污染分支)  ,git checkout -b dev(创建并改名分支)
3.开发代码
4.分支dev本地提交,           git add -A(添加到暂存区)     git commit -m ‘注释内容‘(提交到本地仓库)
5.合并到主分支              git checkout master(切换到主分支)     git merge dev(将分支dev合并到主分支)
6.更新本地代码,         git pull(如果不从远端跟新代码,直接push会报错)
7.提交代码,          git push (将本地仓库代码推送到远端仓库), 但是不推荐简写, git push  origin master

第二次;
1. 更新代码,        git pull(拉取远端代码),
2. 切换分支,          (       切换分支前需要master主分支先commit下, 以免一些文件会污染分支)git checkout dev
3. 开发功能
4. 提交                      git add -A(添加到暂存区)     git commit -m ‘注释内容‘(提交到本地仓库)
5. 合并分支 ,            git checkout master,    git merge xiaohigh
6. 更新代码              git pull(如果不从远端跟新代码,直接push会报错)
7. 提交代码             git push (将本地仓库代码推送到远端仓库)  但是不推荐简写, git push  origin master

 

以上是关于GIT的方法,重要的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

使用 Git 来管理 Xcode 中的代码片段

如何管理在每个 git 版本中添加私有代码片段?

markdown Git代码片段

javascript JavaScript重要的片段/方法

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段