首页 > 编程知识 正文

git 提交本地代码,git 命令行提交代码流程

时间:2023-05-05 22:23:45 阅读:199012 作者:4730

前言

最近要准备SAP的面试,它会考察JAVA知识点、数据库的知识,以及Git的一些常用命令,我平常协同开发用的都是TortoiseGit这么一个软件来提交代码,非常的方便。但是没办法,还是要准备命令行。

Git是什么?
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
命令解释

如何用命令行上传本地代码
下面是实现上传本地代码的一个流程:
(1)gihub上新建一个仓库
(2)echo “# New Start !” >> README.md
(3)git init
(4)git add README.md
(5)git commit -m “提交排序算法代码”
(6)git remote add origin https://github.com/GSshu/Sort.git (如果出现错误fatal,采用 git remote rm origin来解决)
(8)git push -u origin master
(9)git fetch 获取远程仓库中所有的分支到本地
这样就实现了把本地的代码传到了你在Github上的远程仓库。

常用的Git命令总结
(1)远程仓库操作
git clone git://https://github.com/GSshu/Sort.git 检查仓库
git remote -v 查看远程仓库
git remote add [name] [https://github.com/GSshu/Sort.git ] 添加远程仓库
git remote rm [name] 删除远程仓库
git pull [remoteName] [localBranchName] 拉取远程仓库
git push [remoteName] [localBranchName] 推送远程仓库
(2)分支操作:
git branch 创建分支,查看本地分支
git branch -r 查看远程分支
git checkout 切换分支
git branch -a 查看分支列表
git branch -v 查看所有分支的最后一次操作
git branch -vv 查看当前分支
git brabch -b 分支名 origin/分支名 创建远程分支到本地
git branch --merged 查看别的分支和当前分支合并过的分支
git branch --no-merged 查看未与当前分支合并的分支
git branch -d 分支名 删除本地分支
git branch -D 分支名 强行删除分支
git branch origin :分支名 删除远处仓库分支
git merge 分支名 合并分支到当前分支上
(3)暂存操作:
git stash 暂存当前修改
git stash apply 恢复最近的一次暂存
git stash pop 恢复暂存并删除暂存记录
git stash list 查看暂存列表
git stash drop 暂存名(例:stash@{0}) 移除某次暂存
git stash clear 清除暂存
(4)回退操作:
git reset --hard HEAD^ 回退到上一个版本
git reset --hard ahdhs1(commit_id) 回退到某个版本
git checkout – file撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)
git reset HEAD file 撤回暂存区的文件修改到工作区
(5)标签操作:
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
合并远程仓库的tag到本地:$ git pull origin --tags
上传本地tag到远程仓库:$ git push origin --tags
创建带注释的tag:$ git tag -a [name] -m ‘yourMessage’
(6)常规操作:
git push origin test 推送本地分支到远程仓库
git rm -r --cached 文件/文件夹名字 取消文件被版本控制
git reflog 获取执行过的命令
git log --graph 查看分支合并图
git merge --no-ff -m ‘合并描述’ 分支名 不使用Fast forward方式合并,采用这种方式合并可以看到合并记录
git check-ignore -v 文件名 查看忽略规则
git add -f 文件名 强制将文件提交
(7)取消忽略文件:
git update-index --no-assume-unchanged file
(8)拉取、上传免密码:
git config --global credential.helper store

Git命令解释
现在我们有了本地和远程的版本库,让我们来试着用用Git的基本命令:
git pull: 从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地。
git add: 是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。
git rm: 从当前的工作空间中和索引中删除文件。
git commit: 提交当前工作空间的修改内容,类似于SVN的commit命令。
git push: 将本地commit的代码更新到远程版本库中。
git log: 查看历史日志,该功能类似于SVN的log
git revert: 还原一个版本的修改,必须提供一个具体的Git版本号。

Git独有的一些命令:
git branch: 对分支的增、删、查等操作,例如’git branch new_branch’会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch’就会强制删除叫做new_branch的分支,'git branch’就会列出本地所有的分支
git checkout: Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如’git checkout new_branch’就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如’git checkout app/model/user.rb’就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚
git reset: 将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有A-G五次提交的版本,其中C的版本号是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了’git reset bbaf6fb5060b4875b18ff9ff637ce118256d6f20’那么结果就只剩下了A-C三个提交的版本
git stash: 将当前未提交的工作存入Git工作栈中,时机成熟的时候再应用回来,这里暂时提一下这个命令的用法
git config: 利用这个命令可以新增、更改Git的各种设置,例如’git config branch.master.remote origin’就将master的远程版本库设置为别名叫做origin版本库,后面在技巧篇会利用这个命令个性化设置你的Git,为你打造独一无二的 Git
git tag: 可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号粗心的小鸭子值了,例如你可以使用’git tag revert_version bbaf6fb5060b4875b18ff9ff637ce118256d6f20’来标记这个被你还原的版本,那么以后你想查看该版本时,就可以使用 revert_version标签名,而不是粗心的小鸭子值了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。