git init  : 在给定的文件夹下面初始化git 即给这个文件夹加入一个.git 文件夹

git add . : 当文件被改一动的时候把所有改动的文件加入缓存序列

git commit -m "TXT" 把改动的文件放入上传的序列中, 且加上注释

 

git branch XXX: 创建一个分支

git branch -d XXXX remove XXX branch

git branch -a: 查看有多少的分支

git checkout XXX(this is branch): switch to selected branch

git log -oneline: 只是显示每个log一行的状态 ID号码为总ID号码的前几位

git checkout ID(short) 查看这个ID号码时刻文件的状态

git revert ID(short)只是删除这个ID 号码对应的commit

git reset ID(short)--hard 删除这个ID号码之后的一切更改

git pull <url> 把文件从github 复制下来

git push <url>把文件上传到github

git merge XXX, merge XXX branch code into master

 

git clone <url> 把某一个网站上面的git工程下载下来。

想要除去当地和远程的branch

git branch -m <new name>    在本branch里面这么做

git push origin --delete <old name>

git push origin -u <new name>  远程改名字

git push origin <branch-name> 在本地发布新的branch到remote

 

 

 

补充和更新:一些新的想法:

1

在上传代码到远程仓库的时候,不免会出现问题,任何过程都有可能要回滚代码:

1、在工作区的代码

git checkout -- a.txt   # 丢弃某个文件,或者
git checkout -- .       # 丢弃全部

注意:git checkout – . 丢弃全部,也包括:新增的文件会被删除、删除的文件会恢复回来、修改的文件会回去。这几个前提都说的是,回到暂存区之前的样子。对之前保存在暂存区里的代码不会有任何影响。对commit提交到本地分支的代码就更没影响了。当然,如果你之前压根都没有暂存或commit,那就是回到你上次pull下来的样子了。

2、代码git add到缓存区,并未commit提交

git reset HEAD .  或者
git reset HEAD a.txt

这个命令仅改变暂存区,并不改变工作区,这意味着在无任何其他操作的情况下,工作区中的实际文件同该命令运行之前无任何变化

3、git commit到本地分支、但没有git push到远程

git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id>  # 回到其中你想要的某个版
或者
git reset --hard HEAD^  # 回到最新的一次提交
或者
git reset HEAD^  # 此时代码保留,回到 git add 之前

4、git push把修改提交到远程仓库
1)通过git reset是直接删除指定的commit

git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id>
git push origin HEAD --force # 强制提交一次,之前错误的提交就从远程仓库删除

2)通过git revert是用一次新的commit来回滚之前的commit

git log # 得到你需要回退一次提交的commit id
git revert <commit_id>  # 撤销指定的版本,撤销也会作为一次提交进行保存

3) git revert 和 git reset的区别
- git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留;
- git reset是回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除

posted on 2020-02-10 04:26  闲云潭影  阅读(214)  评论(0编辑  收藏  举报