![](/upload/rand_pic/2-1205.jpg)
笔者最近开始接触git团队开发项目,因为对git并不熟悉,故作此随笔以防遗忘。
如有错误或者纰漏,请指教。
记录一个使用git的教学游戏网站https://learngitbranching.js.org/?locale=zh_CN
本文分成两个部分,上半部分为常用命令集合,下半部分为拉取和推送代码的完整步骤
初始化本地仓库
git init
添加/取消 关联远程仓库
git remote add origin +ssh路径 git remote remove origin
查看当前连接的路径
git remote -v
新建本地分支
git checkout -b git checkout -b dev一般用于创建分支,若分支存在则切换分支
新建远程分支&推送代码
git push origin : git push origin dev:dev
git clone -b git clone -b dev https://gitee.com/xxx.git若本地没有叫dev的分支,则会新建一个
查找提交版本信息
git log
强制回溯版本
git reset --hard
关于origin
这里提一下origin,origin就是远程仓库链接的别名
详细理解可以到-> https://www.zhihu.com/question/27712995/answer/39946123
git pull origin :git pull origin dev:dev//关于拉取他人代码时,推荐本地新建与远程分支同名的分支,拉取代码时,切换到对应分支,这样不会对自己分支造成影响git push -u origin dev:dev//关于-u的作用,使用git push -u origin dev:dev后,git会将你的本地分支dev与远程仓库分支做一个链接,下一次想要push的时候,就可以直接使用git push而后面不用跟参数,可以用来简化推送命令git push -u origin dev:dev -f //强制提交到远程分支(不推荐不推荐不推荐强制操作,很容易出现奇奇怪怪的问题)
git merge //记得先切换到自己进行合并操作分支 然后再去合并被合并的分支
关于branch的操作
git branch //列出本地已经存在的分支,并且在当前分支的前面用"*"标记 git branch -r //查看远程版本库分支列表 remote git branch -a //查看所有分支列表,包括本地和远程 all git branch -d dev //删除dev分支 delete
git checkout dev
关于提交(push)代码的常规流程首先是将全部文件添加至暂存区
git add . (注意是空格然后 .)
然后提交到本地仓库
git commit -m“备注”
如果你的代码版本是团队最新的代码,你可以跳过合并代码这一步
git checkout devdev:这里一般指主分支,正常情况下主分支代码是最新的版本,你可以将dev换成你的团队中最新的分支名
在本地dev分支拉取最新代码
git pull :git pull origin dev:dev
也有使用fetch的方式,会在下文中具体阐述git fetch和git pull的区别
切换到自己分支git checkout
git merge
最后推送本地代码到远程分支
git push origin :
关于拉取(pull)代码的常规流程
例如目前本地有分支a,b,本地a分支想要拉取远程b分支代码
首先切换到分支bgit checkout b
然后pull代码
git pull origin b:b //第一个是远处分支,第二个是本地分支
切换到自己a分支
git checkout a
合并b分支代码
git merge b
这样做的好处是,万一拉取的有问题,不会对自己的代码造成影响(虽然有时不解决冲突就回不到自己分支 -_-|| )
关于git fetch和git pull的区别
git pull下来后会直接合并,容易出现问题
而git fetch下来的话,新的代码先不合并也不显示(保存在?待补充),可以先比较,再决定是否合并
具体优劣等我用几年再说(2021/11/28)
使用git fetch后,如何合并代码
git fetch origin //从远程分支下载到本地并新建一个分支
git log -p .. origin/ //比较本地的仓库和远程参考的区别 git merge origin/ //把远程下载下来的代码合并到本地仓库,远程的和本地的合并
git fetch origin : //从远程分支下载到本地并新建一个分支git diff //比较当前分支和新建分支的不同,这步之前应先切回你想要进行合并操作的分支git merge //合并新建分支到当前分支git branch -d //删除新建分支
git rebase (存疑,待补充/2021/11/28)
博客主人萌萌哒 男,单身,无聊上班族,闲着没事喜欢研究代码,密集恐怖深度患者,资深技术宅。 关于本站
本站是基于帝国CMS强力驱动的个人博客模板,主要用来记录个人的成长和学习的历程。本站同时也编录了互联网信息,编程教程,软件教程,技巧分享,福利分享等文章。 本站所有文章均为原创,转载请注明来源。