git实用操作

来源:互联网 发布:淘宝托管公司收费 编辑:程序博客网 时间:2024/06/03 03:46

一、git基本操作流程

git是分布式的版本管理工具,也就是每个分支都是完整的代码,可以相互合并。合代码时的基本操作流程是:

1、git stash ,将当前修改保存到git栈中;

2、git pull,从仓库中拉取最新代码;

3、git stash pop, 将步骤1保存的修改从git栈中弹出,合并代码,并解决冲突;

4、git add .  ,将所有修改文件加入追踪;

5、git commit  -m "修改文件1",提交修改,并标注说明,即是将追踪文件加入暂存区;

6、git push origin master ,将修改代码推到中央仓库master分支上;


二、git常用操作命令

1、git status ,查看修改;

2、git branch ,查看当前分支;

3、git branch -r ,查看远程分支;

4、git stash list ,列出堆栈中的内容;

5、git branch 新分支,新建分支;

6、git checkout 分支,切换分支;

7、git commit --amend ,合并到上一次提交, 也可以称为打补丁;

8、git checkout -b 分支 origin/分支 , 在本地切换到远程分支;

9、git push origin HEAD:refs/for/分支(如alpha),推分支到远程分支上;

10、git log , 查看日志;

11、git remote -v ,查看远程仓库的网址;

12、git  clone url ,下载远程代码

13、git merge 分支,合并分支


三、git加入追踪

1、git add -A  , 所有文件加入追踪;

2、git add .  , 将除删除文件外的文件加入追踪;

3、git add -u  ,将除新增文件外的文件加入追踪;

上述操作也可以指定文件操作,多个文件名间用空格隔开,如git add 文件名;


四、git回退操作

1、git checkout 文件名 , 将修改的文件还原到最近修改前的状态(用暂存区的文件覆盖本地文件,修改会丢失),多个文件名间用空格隔开;

1、git reset 文件名 , 将指加入追踪的文件还原到未追踪前的状态(修改不会丢失,只针对加入追踪的文件),多个文件名间用空格隔开;

2、git reset HEAD^  , 还原到上一次文件修改完时的状态(这时修改还在,只是没有加入追踪);

3、git reset HEAD^2 ,还原到前两次即是文件修改完时的状态(这时修改还在,只是没有加入追踪),2表示次数,也可为3,为4等;

4、git reset --soft HEAD^  , 还原到上一次提交暂存区前的状态(这时修改还在,但加入了追踪);

5、git reset --soft HEAD^2 ,还原到前两次提交暂存区前的状态(这时修改还在,但加入了追踪),2表示次数,也可为3,为4等;

6、git reset --hard HEAD^  , 还原到上一次提交状态(这时修改会丢失);

7、git reset --hard HEAD^2 ,还原到前两次提交状态(这时修改会丢失),2表示次数,也可为3,为4等;

注意,上述回退节点,HEAD^,HEAD^2这些,也可以通过git log 查看操作历史记录,

获取历史提交点commit,然后可以回退到指定提交点,如git reset 460bae36c7ded51fb1ef0e14c5b80861a0a2bba6 


五、git中作用相反的命令(或者说是补救措施)

1、git add <path>与git reset <path>

即是将指定文件加入追踪,与从追踪中移出文件

2、git commit -m "修改1" 与 git reset --soft HEAD^

即是提交修改到暂存区,与从暂存区移出;

3、git reset --hard HEAD^ 与 git reset --hard 分支@{1}

即是回退到上一次修改,与从回退到上一次修改后再回退回来;


原创粉丝点击