本地仓库及常用命令

目录

  1. 创建本地仓库示例。
  2. Git常用命令。

1.创建本地仓库示例

在桌面上新建一个文件夹重命名为MyTest>>进入文件夹后鼠标右键打开Git Bash Here>>输入git init回车。

此时,出现.git文件夹就说明MyTest文件夹初始化成了一个空的本地仓库(有可能.git文件夹是隐藏的,在我的电脑>>查看>>隐藏的项目)。

2.Git常用命令。

/*
* 括号内是解释,不是命令操作。另外“代称”是远程仓库的别名,查看代称的方式是通过命令
*  git remote -v。如果有关联的远程仓库则回显示
*  代称  远程仓库 (fetch)
*  代称  远程仓库 (push) 
*/
git config --global user.name “用户名”
git config --global user.email “邮箱”
#ssh-keygen -t rsa -C "xxxxx@xxxxx.com" (生成公钥私钥)
echo "# MyGitHub" >> README.md(将注释写入Readme.md)
git init(初始化本地仓库)
git add README.md(将Readme.md添加到暂存区,添加指定的文件到暂存区)
git commit -m "注释"(将暂存区的添加到本地仓库)
git remote add 代称 远程仓库的SSH (将本地仓库关联到远程仓库,也就是本地仓库增加一个远程仓库)
git remote -v (查看本地仓库关联的远程仓库是否成功)
git remote remove 代称 (取消跟“代称(远程仓库)”的关联)
git push -u origin master(首次推送到远程仓库中)
说明<代称>是你的远程仓库别名,比如:你可以写gitee(码云)、github,默认是origin等。

///<summary>
///提交新文件和被修改文件,不包括被删除的文件。
///</summary>
git add .

///<summary>
///提交所有变化。
///</summary>
git add -a 

///<summary>
///查看当前版本信息,最近一次的commit。
///</summary>
git log 

///<summary>
///显示所有提交过的用户。
///</summary>
git shortlog -sn 

///<summary>
///克隆远程仓库到本地。
///</summary>
git clone <远程仓库的SSH>

///<summary>
///将远程文件拉到本地仓库,是指拉回远程分支并与本地分支合并。git pull 等于 git fetch + git
///merge。
///</summary>
git pull <代称> <分支名>

///<summary>
///拉回远程文件,并没更改本地仓库的代码,只是拉取了远程 commit 数据。
///</summary>
git fetch <代称> <分支名>

///<summary>
///合并,将拉回的远程分支与本地分支合并。
///</summary>
git merge <代称> <分支名>

///<summary>
///(解释:首先切换到要使用的分支(当前分支),合并<分支名>到当前分支);比如想要将dev分支合并到///master分支,首先git checkout master 切换到master分支 再通过命令git merge dev将dev分支合并
///到master分支。
///</summary>
git merge <分支名> 

///<summary>
///查看状态。
///</summary>
git status

///<summary>
///查看分支。
///</summary>
git branch

///<summary>
///创建新分支。
///</summary>
git branch <分支名>

///<summary>
///删除分支。
///</summary>
git branch -d <分支名>

///<summary>
///强制删除分支,请慎重使用。
///</summary>
git branch -D <分支名>

///<summary>
///将本地仓库的分支推送到远程仓库中。如果不是首次推送到远程仓库,则不用加 -u;比如:将master主分
///支提交到远程仓库,命令为git push origin master,其中origin是远程仓库的别名;
///如果将dev分支提交到远程仓库命令为git push origin dev。
///</summary>
git push -u <代称> <分支名> 

///<summary>
///强制推送<分支名>到远程仓库,不建议使用,这样会使远程修改丢失。
///</summary>
git push <代称> <分支名> -f 

///<summary>
///方式一:删除远程仓库上的分支。
///</summary>
git push --delete <代称> <分支名>

///<summary>
///方式二:删除远程仓库上的分支,在分支名前加一个冒号。
///</summary>
git push <代称> :<分支名>

///<summary>
///本地分支提交到远程仓库分支时不想和本地分支名同名,比如本地分支名如果叫dev,而远程仓库分支名想叫///develop,命令为git push origin dev:develop。
///</summary>
git push <代称> <分支名>:<远程仓库分支名>

///<summary>
///切换到该分支。
///</summary>
git checkout <分支名>

///<summary>
///(创建并切换到该分支)等价于git branch <分支名>加上git checkout <分支名>。
///</summary>
git checkout -b <分支名>

///<summary>
///从提交的某个历史版本中切出新分支。
///</summary>
git checkout -b <分支名> <历史版本>

///<summary>
///放弃本地工作区指定文件的修改。使用checkout后面加 – file,放弃指定文件的修改,file是需要放弃修
///改的文件。
///</summary>
git checkout -- <file>

///<summary>
///放弃本地工作区所有文件的修改。点(.)是代表放弃本地所有文件的修改。
///</summary>
git checkout .

解决冲突过程:

解决冲突过程:
git init (注意;如果已经是本地仓库就不用再初始化仓库了)
//touch README.md
//touch README.en.md
//git add -A
//git commit -m "注释"
git remote add 代称 远程仓库地址
git pull --rebase 代称 分支 (将远程仓库拉取到commit提交的本地仓库中,合并冲突)

git add -A
git commit -m "新注释"
git push -u 代称 分支

git 回滚

1.已提交,没有push

///撤销commit,其中commit-id是指要撤销的版本号

(1) git reset --soft  <commit-id>

///撤销commit和add两个动作,其中commit-id是指要撤销的版本号

(2) git reset -- mixed <commit-id>

2.已提交,并且push

///回退到commit-id版本,并舍弃之后的提交记录。(使用需谨慎,这是毁尸灭迹的操作)

(1) git reset --hard <commit-id>

///回退后再次推送到远程,因为此时本地版本落后于远程版本,需要进行强制提交。

   $   git push -f

///撤销。但是保留了提交记录。其中commit-id是我们要移除的版本号。如果是git reset 则是我们要回到版本的版本号,注意这两个命令中要填写的commit-id有点不同。

(2) git revert <commit-id>

回退后再次推送到远程

   $  git push