GIT使用

流程

1.git clone XXX

拉下项目代码

git clone -b 分支名  XXX    拉取一个项目的指定分支,比如dev

2.git pull origin master(或者其他分支)

更新项目代码,使代码是最近的更新

git pull origin(远程主机名) master(远程分支名):brantest(本地分支名)
git pull origin master:将远程origin主机的master分支拉取过来和本地的当前分支进行合并。

3.git branch

查看当前分支

4.git checkout -b shly(新建分支)

新建分支并进入新的分支

该命令可拆分为

git branch shly

git checkout shly

5.git status

修改代码后,查看状态

6.git add -A       

将修改提到暂存区

git add .  :提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

git add -u:提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

git add -A:提交所有变化

7.git commin -m  '注释'

主要是将暂存区里的改动给提交到本地的版本库。

add commit 可以合并为一步   :

git commit -a -m SHLY-289

8.git push origin master(自己要提交的分支的名称)

也可以使用 git push --set-upstream origin 自己分支的名称

9.切换到其他分支

git checkout 其他分支

切换到其他分支的时候,代码也会变动

其他操作

1.删除分支:

查看所有分支: git branch -a

删除分支命令:git branch -d 分支名

然后带有remote的是远程分支 删除自己上传的分支 :git push origin --delete 分支名称

2.修改了很多文件,但有一个文件误操作,不想提交

可以在vs code左侧分支找到被修改的文件,然后右键discard change就可以恢复到原来的文件。

3.在一个分支上修改了代码,但还没有修改完,但因紧急情况需要切换到其他分支,又不想提交正在修改的分支。可以使用git stash命令,这个分支就会和上一次提交后的状态一致。等其他分支上的任务完成,可以再切换到这个分支,使用git stash apply恢复自己的工作。

4.git diff

  比较具体在哪里做了修改。 git diff默认比较的是工作区和暂存取的内容。

(1).  git diff  filepath 工作区与暂存区比较

(2). git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较

(3). git diff --staged 或 --cached  filepath 暂存区与HEAD比较

(4). git diff branchName filepath  当前分支的文件与branchName 分支的文件进行比较

(5). git diff commitId filepath 与某一次提交进行比较

  退出按q即可。

5.commit id

获得最近一次commit的id

git rev-parse HEAD

git rev-parse --short HEAD

6.其他人的merge请求

merge,然后删除分支,有一个remove resource

7.修改分支名称

git branch  -m  旧  新

8.拉取pull代码,显示冲突

找到提示冲突的文件,查看修改。

 

9.撤销修改   git checkout --readme.txt

把文件在工作区的修改全部撤销,如果文件还没有被放到暂存区add,撤销修改就回到和版本库一模一样的状态;如果已经添加到暂存区,又做了修改,撤销修改就回到暂存区的状态。在工作区不小心把某一个文件删除了,也可以使用这个命令从版本库进行恢复。

使用git reset HEAD <file>可以把暂存区的修改撤销掉(unstage)重新放回工作区。

10.查看某次提交具体做的修改

git show  最近一次提交做的修改;

git show commitid   某次提交做的修改;

概念理解

1.工作区:就是自己主机上写代码的项目代码;

2.暂存取:执行git add命令后,修改提交到暂存区;

3.分支:执行git commit命令后,暂存区的内容会提交到当前分支;

4.Git的版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

   Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支 master,以及指向master的一个指针叫HEAD

 

问题

1.git切换到一个新的分支的时候,有没有初始代码,还是说必须得先pull.

2.远程代码pull下来之后,没有覆盖先前在另外一个分支上的代码,是正常的,只要正常提交就行。

3.git pull 拉取代码后,有冲突

   git add .

   git stash 

   git fetch --all

   git  reset --hard origin/feature/xnyy_project_config

   git pull origin feature/xnyy_project_config

4.多次commit,可以通过git log查看commit id和对应的修改提示

 想回退到上一个版本 git reset --hard HEAD^   (git用HEAD表示当前版本,上一个版本是HEAD^,上两个版本是HEAD^^,上100个可   以使用HEAD~100)

 如果回退到上一个版本后,又想到最近的版本,方法就是找到最新的那次的commit_id,使用git reset --hard commit_id,在窗口使用  过命令git log,并且没有关闭窗口。   如果找不到commit_id,可以使用git reflog(用来记录每一次命令)。

使用git reflog 会给每一步操作赋一个编号

然后命令git reset --hard HEAD@{n},可以跳转到相应的位置进行回退。

 

 

 

注意:

1.要有一个什么都不操作,只进行pull代码的干净分支,这样要修改什么代码,新建分支取修改,可以保证代码的纯净;

参考:https://segmentfault.com/a/1190000015676846

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值