赞
踩
Git工作目录下的文件存在两种状态:
untracked 未跟踪(未被纳入版本控制) : 新建的文件
tracked 已跟踪(被纳入版本控制)
2.1 Staged 已暂存状态 : 添加 但未提交状态
2.2 Unmodified 未修改状态 : 已提交
2.3 Modified 已修改状态 : 修改了,但是还没有提交
官网下载地址Git (git-scm.com),安装完成后可以看到Git Bash文件
在需要使用git的文件夹中鼠标右键并选择open Git bash here。
设置用户信息
git config --global user.name “name”
git config --global user.email “@gmail.com”
查看配置信息
git config --list
git config user.name
将未跟踪的文件加入暂存区 git add <文件名>
将暂存区的文件取消暂存 (取消 add ) git reset <文件名>
将暂存区的文件修改提交到本地仓库 git commit -m "日志信息" <文件名>
从本地工作区 删除文件 git rm <文件名>
如果本工作区库误删, 想要回退 git checkout head <文件名>
查看状态 git status
初始化 git init
git log --pretty=oneline --abbrev-commit --all --graph
git reflog
git reset --hard 提交编号
创建 .gitignore
在文件中添加忽略的文件名
touch .gitignore
vi .gitignore
按insert键进入编辑模式
.gitignore中忽略不同的文件使用的命令不同:
/文件名.txt 单个文件
*.txt 此类型所有文件
project/ project文件夹下所有文件
列出所有本地分支 git branch
列出所有远程分支 git branch -r
列出所有本地分支和远程分支 git branch -a
创建分支 git branch <分支名>
切换分支 git checkout <分支名>
删除分支(如果分支已经修改过,则不允许删除) git branch -d <分支名>
强制删除分支 git branch -D <分支名>
提交分支至远程仓库 git push <仓库简称> <分支名称>
合并分支 将其他分支合并至当前工作区 git merge <分支名称>
删除远程仓库分支 git push origin –d branchName
列出所有tag git tag
查看tag详细信息 git show [tagName]
新建一个tag git tag [tagName]
提交指定tag git push [仓库简称] [tagName]
新建一个分支,指向某个tag git checkout -b [branch] [tag]
删除本地tag git tag -d [tag]
删除远程tag (注意 空格) git push origin :refs/tags/[tag]
从远程仓库克隆 git clone <url>
从远程仓库拉取 (拉取到.git 目录,不会合并到工作区,工作区发生变化)
git fetch <shortname> <分支名称>
手动合并 把某个版本的某个分支合并到当前工作区
git merge <shortname>/<分支名称>
从远程仓库拉取 (拉取到.git 目录,合并到工作区,工作区不发生变化) = fetch+merge
git pull <shortname> <分支名称>
git pull <shortname> <分支名称> --allow-unrelated-histories # 强制拉取合并
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数--allow-unrelated-histories (如上 命令)
git push [remote-name] [branch-name]
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub 复制ssh密钥
在Github/Gitee的设置中添加ssh key
ssh -T git@github.com
ssh -T git@gitee.com
复制ssh的git链接。
链接: git@github.com:<项目名>.git
命令: git remote add 远程仓库名字 仓库路径
git remote add origin git@github.com:<项目名>.git
git remote
git push [-f] [--ste-upstream] [远端名字] [本地分支名]:[远端分支名]
[-f] :强制覆盖
如果远端分支和本地分支一样,可以只写本地分支
git push origin master
--ste-upstream 推送到远端的同时建立和远端分支的关联关系
git push --set-upstream origin master:master
输入这个以后可以将本地master和远程master绑定,以后只需要使用git push就可以了。
git config --global user.name ""
git config --global user.email "@gmail.com"
git clone git@gitlab.com:<项目名>.git
cd <文件名>
git switch --create main
touch README.md
git add README.md
git commit -m "add README"
git push --set-upstream origin main
cd existing_folder
git init --initial-branch=main
git remote add origin git@gitlab.com:<项目名>.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main
cd existing_repo
git remote rename origin old-origin
git remote add origin git@gitlab.com:<项目名>.git
git push --set-upstream origin --all
git push --set-upstream origin --tags
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。