git使用教程及常用命令

1、初次本地git连接远程仓库,并提交代码到远程仓库

第一步 码云上创建仓库

第二步 在需要上传的项目处右键--》git bush here

第三步  初始化本地git库

git init

设定本机用户名,绑定邮箱,让远程服务器知道机器的身份

git config --global user.name "hviger"
git config --global user.email "hviger@qq.com"

输完上面的命令,文件夹中会出现一个.git文件夹

第四步 添加远程仓库,将本地仓库和远程仓库连接起来

git remote add origin https://gitee.com/hviger/ruoyi.git

第五步 添加文件,将本地文件添加到本地仓库

添加全部文件 git add . 或者 git add --all<注意git和add中间有个空格>

添加特定文件使用git add 文件名称<添加多个文件可以重复使用这个或者看下面的这个>

添加多个文件使用git add 文件名称 文件名称 文件名称<中间使用空格隔开>

第六步 创建提交,将文件提交至缓存区

git commit -m '本次代码提交的说明'

第七步 进行代码合并,将本地仓库和远程仓库合并

由于开始创建仓库的时候使用了README初始化仓库,本地没有readme文件,此时本地仓库与远程仓库不同步,所以使用以下命令合并仓库

git pull --rebase origin master

第八步 推到远程代码库

git push -u origin master
git push -u origin master -f (加-f是强制提交)
git push origin master --force //git本地强制覆盖远程

需要注意的是,在push的时候会弹出输入你的用户名和密码正确后才可以。如果推不上去,可能是库的权限问题。

2、再次提交更改

第一步:使用 git add . 

git status         ---- 查看当前本地文件信息,会显示本地修改了哪些文件
git branch         ---- 查看当前分支 提交代码之前一定要看清分支!!!

git rm ss.txt ---- 删除本地代码库文件
git rm -r aaa ---- 删除本地代码库文件夹

第二步:使用 git commit -m "第二次提交"

第三步:避免代码冲突,推送前习惯性先同步代码:git pull origin master ,代码冲突解决方法

第四步:使用 git push origin master 推送至远程仓库

3、远程代码更新到本地,从远程仓库获取代码并合并本地的版本

方式一:
git status(查看本地分支文件信息,确保更新时不产生冲突)
git pull(更新远程代码到本地)
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin
git pull origin master:brantest //将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master //如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
方式二:(git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。)
git fetch --all        //将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
git fetch orgin master //将远程仓库的master分支下载到本地当前branch中 git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别 git merge origin/master //进行合并

也可以用以下指令:
git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支
git diff tmp  //将当前分支和tmp进行对比
git merge tmp //合并tmp分支到当前分支
git远程覆盖本地,有时候同一个分支,远程的和本地的都被修改的面目全非了,如果想要把本地的替换成远程的,用下面的命令:
git fetch --all
git reset --hard origin/master (这里master要修改为对应的分支名)
git pull
扩展
git branch        //查看分支
git branch -a     //查看本地和远程的所有分支 git chechout dev //切换分支dev git branch dev //创建dev分支 git chechout
-b dev //本地创建 aaa分支,同时切换到aaa分支。只有提交的时候才会在服务端上创建一个分支

删除本地分支
# 会在删除前检查 merge状态(其上游分支或者与head)
git branch -d 分支名
# 直接删除,不检查
git branch -D 分支名


删除远程分支(把本地的删除仓库 push 到远程)
git push origin --delete 分支名

清理本地不存在的分支,如别人删除了dev,但是本地查看还有,就可以执行该条命令
git remote prune 仓库地址

git remote rename new-origin old-origin 重命名远程代码仓库标签
第一次拉取仓库代码提交README.md文件
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

4、强制还原本地

回退上一个版本,撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

git reset --hard origin/master   // 注意后缀master代表远程分支

撤销本地所有的更改操作还原到更改前的代码,只需要一个命令(*号代表所有更改的文件):

git checkout -- *

 5、git 提交,文件名大小写的修改提交不上去

git 默认对文件名的大小写敏感

但是会在仓库克隆或初始化时,根据当前系统来设置是否忽略大小写

比如 Windows 下会设置为 true → 不区分大小写,而 Linux 中为 false;

git config core.ignorecase false  // 可使用此命令来查看你的 git 是否对文件名大小写敏感:为 true 则不敏感,为 false 则敏感

解决方法一:文件重命名命令

git mv test.txt TEST.txt  // 将 test.txt 重命名为 TEST.txt

但是如果重命名文件夹 ,直接使用上述命令会报错,可以如下这样迂回修改:

git mv test-dir tmp   // 使用 tmp 做一下中间转换 (tmp可以随意起哈)

git mv tmp TEST-DIR

解决方法二:

把待改名的文件先剪切到其他文件夹内 → 提交代码 →  然后再剪切到原本的目录下 → 提交代码。

解决方法三:(不建议)

可执行以下命令更改 git 设置,使其区分文件名的大小写。【 但是不建议使用,还是默认系统的配置好。这种操作会导致远程仓库有问题。】

git config core.ignorecase false

然后正常提交代码,修改会被识别为 untracked 类型的变更,如果直接推送到远程的话,那么远程仓库会同时存在大小写两个版本的文件(本地一切正常)

git rm -r --cached 文件名  // 删除提交到本地仓库的文件

git add .   // 重新将文件添加至本地仓库

 

posted @ 2021-04-30 10:59  zhαojh  阅读(1249)  评论(0编辑  收藏  举报