开发笔记:git命令总结

git命令总结(git都是可用的)

git --version  //查看安装的git是那个版本
git branch -a  //查看分支
git checkout develop  //切换分支:切换到develop分支
git branch -vv  // 查看本地分支跟踪远程分支的情况

-----------------查看和配置git的邮箱和用户名--------------------
查看用户名和邮箱:
$ git config user.name
$ git config user.email
修改用户名和邮箱:
$ git config --global user.name "张三"
$ git config --global user.email "zhangsan@126.com"

------------------------------------------------------------

-----1.-----下载远程仓库的代码:git代码-----------
$ git clone -b develop 远程地址  /**下载远程仓库 develop分支的代码**/   
说明:注意地址正确会弹个框:让输入用户名和密码

-----2.-----最常用的添加、提交git代码-----------
git add .  //是把当前工作去的所有文件缓存到暂存区
git commit -m "需求编号  需求描述"  //将暂存区的内容提交到本地仓库
git push  //git push是git push origin master的一种简写形式

【注意!!提交代码前:要做两步】
第一步:git pull --rebase   //先更新远程仓库代码-到本地仓库
第二步:git push origin HEAD:develop  //再推送代码
注:推送命令格式:git push origin [本地分支] : [远程分支]

---------¥¥---最常用的添加、提交开发文档到git代码步骤--¥¥--------
1.git pull --rebase  或  git pull   //拉去最新代码
2.git status  //查看当前的状态
3.git add .   //所有文件的添加暂存区 或    git add 文件名称
4.git status  //查看当前的状态
5.git commit -m "要写的提交注释"   //暂存区内容提交到本地库中
6.git pull  // 提交前一定确保是最新的
7.git push //提交到git 

---------¥¥------------------------------------------------¥¥--------

-------------git pull 和 git pull --rebase区别-------------------
$ git pull --rebase(= git fetch + git rebase)
$ git pull(git fetch + git merge)有合并的概念
注:更新命令使用--rebase参数,不建议使用git pull(git fetch + git merge)命令进行代码更新。
------------------------------------------------------------------

----------强制提交到远程(中央仓库)-----慎用啊---------------
git push -f origin develop  //用命令行强制推送到远端develop分支上
git push --force origin develop  //用命令行强制推送到远端develop分支上
注释: origin远程仓库名,master分支名,-f为force,意为:强行、强制。
--------------------------------------------------------------------

-------------------反悔修改注释---------------------------------
一次悔棋
git commit --amend “需求编号  需求描述” //只修改最近一次提交的注释信息
多次悔棋
git rebase -i HEAD~2  //修改前2次的注释 具体步骤看我写的cdsn博客:【https://blog.csdn.net/Jason_996/article/details/109078456

--------------git push origin master和git push的区别--------------
https://blog.csdn.net/weixin_41287260/article/details/89743120
--------------------------------------------------------------------

------------------------编辑、修改-----------------------------
$ cd ..   /**返回上一级目标**/
$ cd 文件夹名称  /**进行该文件名称的目录里**/
$ pwd  /**查看路径**/
$ vi 文件名  /**编辑文件内容(//保存:按esc然后输入【:wq】    //不保存:按esc然后输入【:!q】)**/
$ cat 文件名  /**查看文件内容**/
注意:文件名中间有空格如:[text list.txt],git命令行中这样输入才识别的:【text\ list.txt

$ git checkout --<filename> /**指定文件从暂存区覆盖到工作区( 可以丢弃工作区的修改)**/
《参考地址》:Git 本地的撤销修改和删除操作
https://blog.csdn.net/zch501157081/article/details/51939854

$ git add . (注意点)添加所有文件到index(暂存区)中,让文件(untracked未跟踪)状态变为已经tracked跟踪。

==========================


--------------------git status和git log区别-------------

git status命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有, 哪些文件没有被Git tracked到。
git status不显示已经commit到项目历史中去的信息。
git log 查看项目历史的信息。//说明:用这个git log  如何退出?  按q可以

----------git pull 命令(取回和合并)-----------

$ git pull <远程主机名> <远程分支名>:<本地分支名>
$ git pull origin next:master  要取回origin主机的next分支,与本地的master分支合并

$ git pull origin next 远程分支(next)要与当前分支合并,则冒号后面的部分可以省略

《参考地址》:
https://www.yiibai.com/git/git_pull.html

--------------------git commit-------------

$ git commit -m "提交说明" 
$ git commit -am "提交说明" #等同于 $ git commit -a -m "提交说明"

--------------------(git commit -m) 和 (git commit -am)的区别--------------------

文件a.txt处于已跟踪,但未暂存状态。这时,如果使用git commit -m是无法提交最新版本的a.txt的,提交的只是最开始空内容的旧版本a.txt

要提交新版本a.txt,即内容为'a'的a.txt,则需要使用git add a.txt,将新版本的a.txt放到staged暂存区,然后才能使用git commit -m进行提交

而如果使用git commit -am,则可以省略git add a.txt这一步,因为git commit -am可以提交跟踪过的文件,而a.txt一开始已经被跟踪过了

《参考地址》:
https://segmentfault.com/q/1010000005900988

--------------------git push-------------

//提交分支数据到远程服务器
$ git push origin <local_branch_name>:<remote_branch_name>

$ git push origin test:master     // 提交本地test分支 作为 远程的master分支

$ git push origin test:test       // 提交本地test分支作为远程的test分支

$ git push origin :develop        // 删除远程分支develop

例子:
$ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中

$ git remote add origin ssh://git@dev.lemote.com/rt4ls.git
$ git push origin master

// 这两个操作是等价的,第二个操作的第一行的意思是添加一个标记,让origin指向ssh://git@dev.lemote.com/rt4ls.git,
// 也就是说你操作origin的时候,实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。
// origin在这里完全可以理解为后者的别名。

《参考地址》:git push总结
https://blog.csdn.net/wh_19910525/article/details/7438183


-----------------git回退到某个历史版本:-----------------

$ git log  /**命令查看所有的历史版本(可以看到历史版本的id,如:139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96)**/
$ git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96    /**强制回退这个版本,会删除工作空间的源代码 要慎用**/
$ git push -f -u origin master  /**修改推到远程服务器(这步很重要)**/

-f  强制
-u  why?

-----------------使用git命令(git reset --hard HEAD)回退版本信息-----------------

HEAD     表示当前版本
HEAD^    表示上一个版本
HEAD^^   表示上上一个版本
HEAD~100 表示往上100个版本

$ git reset --hard HEAD^   回退到上一个版本(--hard 会删除源代码)
$ git reset --hard id  回退到指定版本id
https://blog.csdn.net/java_huilong/article/details/52136475


---------------------(--mixed --soft --hard之间的)区别--------------------------------

git --mixed --soft --hard之间的区别?
git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和add信息
git reset --soft:回退到某个版本,只回退了commit的信息。如果还要提交,直接commit即可
git reset  --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,慎用!

===========分支相关===分支名称为develop============

$ git branch -a //查看远程和本地所有分支(红色表示远程分支)
$ git branch -r //查看远程分支
$ git branch  //查看本地分支
$ git branch develop //创建本地分支名称为develop
$ git checkout develop //切换本地分支到develop分支,如没有develop分支,会创建一个并且切换到develop分支。

$ git push origin develop //提交本地分支develop 到远程


git 创建远程分支就是本地分支push到服务器上


$ git checkout -b develop//基于本地创建分支,一定是新分支哟

*****有两个意思哟(注意)********
$ git checkout -b develop origin/develop   
// 基于远程分支创建本地分支,并切换到develop分支;
// (切换远程分支的意思:切换到origin/develop分支,并在本地新建分支develop)
#1用此代码,先在码云或GitLab网站上手动添加develop分支(是远程分支)
#2然后把远程分支与本地git关联 执行代码:($ git pull origin develop)(目的就是通过$ git branch -r 能看到手动添加的远程分支)
#3最后用上面的代码达到--》基于远程分支创建本地分支

删除本地分支
$ git branch -D BranchName(其中-D也可以是--delete  如:$ git branch --delete BranchName)

删除本地的远程分支:(意思:删除远程跟踪分支的映射关系(远程BranchName分支还是存在的),git branch -a是查看不到git上的BranchName分支)
$ git branch -r -D origin/BranchName

---------下面这三个代码效果一样---------
远程删除git服务器上的分支:
$ git push origin -d BranchName
其中-d也可以是--delete,如:
$ git push origin --delete BranchName
删除远程分支:
$ git push origin :develop


注意:git命令区分大小写,例如-D和-d在不同的地方虽然都是删除的意思,
并且它们的完整写法都是--delete,但简易写法用错大小写会执行失败。


《参考地址》:
介绍分支与tag相关
https://blog.csdn.net/top_code/article/details/52336221
分支创建和删除
https://blog.csdn.net/codectq/article/details/50778071
删除本地分支和远程删除git服务器上的分支
https://www.cnblogs.com/VAllen/p/git-remote-delete-origin-branches.html
切换远程分支
https://www.cnblogs.com/libertycode/p/5858450.html

---------------------合并分支--(把develop合并到master)--------------------------------
步骤如下:
1.$ git branch 查看本地分支
比如:有两个分支master和develop,现在想把develop的代码合并到master上。执行命令:git checkout master

2.$ git checkout master 要切换到master为当前分支

3.合并代码,执行
$ git merge develop  合并指定分支到当前分支
有冲突就解决冲突,没有就继续。

4.将代码推送到git服务器上。
执行命令:$ git push origin master

https://blog.csdn.net/u011374699/article/details/41749317
(要输入提交消息)
https://www.cnblogs.com/wei325/p/5278922.html
==========================

有关git 修改注释的方法:看这篇很详细哟:https://blog.csdn.net/Jason_996/article/details/109078456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值