熟悉GitHub命令

1、git init命令把这个目录变成Git可以管理的仓库

2、把文件添加到仓库:git add 1.txt(没有消息就是添加成功)
git commit - m “hello” 告诉Git,把文件提交到仓库,-m后面输入的是本次提交的说明,输入方便从历史记录找到改动的记录

3、版本回退:
git status 查看仓库当前的状态,看文件有没有被修改或者有没有被提交的修改
git diff 查看上次是怎么修改的1.txt,查看修改内容
git log 查看修改的文件版本的历史记录(输出信息比较多)
git log –pretty=online (减少输出信息)
git reset -hard回退版本
Head指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

4、版本修改(修改回退)
每次修改后都要git add添加到暂存区,最后git commit一次性提交
git checkout –1.txt 丢弃工作区的修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

5、要克隆仓库,必须知道仓库的地址,然后使用git clone命令进行克隆

6、创建分支 git checkout -b dev 创建dev分支,并切换到dev分支,相当于以下两条命令:
git branch dev 创建dev分支
git checkout dev 切换到dev分支

git branch 查看当前分支(当前分支会标一个*号)
dev分支上的工作完成后,就切换到master分支上
把dev分支上的工作成果合并到master的分支 git merge dev
合并完成后删除分支git branch -d dev 删除dev分支

7、解决冲突:
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log –graph命令可以看到分支合并图。
git push把本地库的内容推送到远程
git push -u origin master把本地仓库分支master内容推送到元仓库去

8、多人协作
git remote 查看远程库的信息
git remote -v 查看远程库的详细信息

Git常用操作命令收集:
1) 远程仓库相关命令
检出仓库: g i t c l o n e g i t : / / g i t h u b . c o m / j q u e r y / j q u e r y . g i t git remote -v
添加远程仓库: g i t r e m o t e a d d [ n a m e ] [ u r l ] git remote rm [name]
修改远程仓库: g i t r e m o t e s e t u r l p u s h [ n a m e ] [ n e w U r l ] git pull [remoteName] [localBranchName]
推送远程仓库: g i t p u s h [ r e m o t e N a m e ] [ l o c a l B r a n c h N a m e ] 2 ( b r a n c h ) git branch

查看远程分支: g i t b r a n c h r git branch [name] —-注意新分支创建后不会自动切换为当前分支
切换分支: g i t c h e c k o u t [ n a m e ] git checkout -b [name]
删除分支: g i t b r a n c h d [ n a m e ] d 使 D git merge [name] —-将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程): g i t p u s h o r i g i n [ n a m e ] git push origin :heads/[name]

我从master分支创建了一个issue5560分支,做了一些修改后,使用git push origin master提交,但是显示的结果却是’Everything up-to-date’,发生问题的原因是git push origin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git push origin issue5560:master 就可以把issue5560推送到远程的master分支了。
如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。

g i t p u s h o r i g i n t e s t : m a s t e r / / t e s t m a s t e r / / g i t h u b t e s t git push origin test:test // 提交本地test分支作为远程的test分支

如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。

g i t p u s h o r i g i n : t e s t / / t e s t 3 ( t a g ) git tag
创建版本: g i t t a g [ n a m e ] git tag -d [name]
查看远程版本: g i t t a g r ( p u s h ) git push origin [name]
删除远程版本: g i t p u s h o r i g i n : r e f s / t a g s / [ n a m e ] 4 ) ( s u b m o d u l e ) git submodule add [url] [path]
如: g i t s u b m o d u l e a d d g i t : / / g i t h u b . c o m / s o b e r h / u i l i b s . g i t s r c / m a i n / w e b a p p / u i l i b s git submodule init —-只在首次检出仓库时运行一次就行
更新子模块: g i t s u b m o d u l e u p d a t e 4 1 ) git rm –cached [path]
2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录
5)忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db
git操作-删除文件

git删除文件
rm add2.txt
git rm add2.txt
git commit -m “rm test”
git push web

问题:warning: LF will be replaced by CRLF in ……

The file will have its original line endings in your working directory.
原因:原因是路径中存在 / 的符号转义问题,false就是不转换符号默认是true,相当于把路径的 / 符号进行转义,这样添加的时候就有问题
解决方法:git config –global core.autocrlf false

猜你喜欢

转载自blog.csdn.net/wjh814/article/details/81222134