git知识点
本地仓库操作
-
新建文件夹
-
git init
-
git status(在所有的add操作前必须查看)
-
git add (一个文件、多个文件,也可以是文件夹)
-
单个文件
git add test.c
注意:windows下txt有可能被添加文件头。二进制文件这些git不识别差异。
-
多个文件
git add file2.txt file3.txt
-
文件夹
git add keil
对同一个文件的多次add(始终没commit),每一次执行git add操作都会将对应的更改添加至暂存区。最终,暂存区中包含了多次不同的更改,而不是只保存最后一次更改。
-
-
commit
git commit -m "add 3 files."
-m是message,后面是对提交的说明。
提交后可以查看日志,知道版本号可以回退
git log
可以往新版本走
git relog
查看文件历史差异
git diff <file>
注意:从未提交过是比较不了差异的
-
commit撤回
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git checkout -- file
。场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。场景3:整个版本都要撤回
git reset --hard commit_id
-
删除
$ git rm test.txt rm 'test.txt'$ git commit -m "remove test.txt" [master d46f35e] remove test.txt1 file changed, 1 deletion(-)delete mode 100644 test.txt
回撤至提交的版本
$ git checkout -- test.txt
远程拉取
-
拉取master(需要推送才拉取)
git clone http链接
-
查看分支
git branch -a
-
拉取分支(直接拉取这个修改)
git clone -b 分支名 master.git
远程推送
新建本地分支,并切换到新分支上
git checkout -b 新分支名
新建一个远程分支
git push origin 新分支名:新分支名
将本地分支和远程分支合并关联
git push --set-upstream origin 新分支名
指向新分支
git checkout 分支名
放置要推送的文件至工程。也就是一共有两个文件夹。一个是拉取下来修改的,本地仓库保留了修改细节;另外一个就是拉取的master,只不过我们现在切换为新分支了。
git add . //推送到本地
git status //查看状态,推送的文件是绿色的
git commit -m "备注" //提交
git push -u origin 分支名 //推送到远程