在国内的开发环境中,git的使用是必不可少的。Git 是一款分布式版本控制系统,用于有效管理和追踪文件的变更历史及协作开发。本片文章就来介绍一下怎样使用git命令行的方式,将本地项目上传到远程仓库,虽然现在的IDE中基本都配置了git的可视化操作,但我们还是应该掌握使用命令行的形式上传文件。
1、下载git 。
git的官网:Git (git-scm.com)
2、初始化本地仓库: 打开命令行或终端,导航到你的项目目录,运行以下命令来初始化一个 Git 仓库:
git init
3、添加文件到仓库: 将项目中的所有文件添加到 Git 跟踪列表中:
git add .
注意这个命令的前提是在项目的根路径下才可以。 add后面的“.”表示当前目录下的所有文件;
也可以上传特定的文件到git中:
git add <filename>
4、提交更改: 提交你的更改到本地仓库:
git commit -m "初始化项目"
5、创建远程仓库: 如果你还没有远程仓库,你需要在支持 Git 的服务上创建一个,比如 GitHub、Gitee、GitLab 或 Bitbucket。如果你已经有仓库了,那么可以直接使用仓库的地址
6、添加远程仓库链接: 将你的本地仓库与远程仓库关联起来。首先,复制远程仓库的 URL。然后运行:
git remote add origin <remote-repository-url>
注意,这里的 <remote-repository-url>
是你的远程仓库地址。
7、验证远程仓库链接: 检查远程仓库是否已正确添加:
git remote -v
可以用来检查我们远程仓库是否正确添加,如果能看到远程仓库的地址,就表示我们的远程仓库已经添加进来了。
如图所示:
8、推送到远程仓库: 将你的本地提交推送到远程仓库:
git push -u origin master
如果你的远程仓库使用默认分支名 main
,而不是 master
,相应地替换分支名。
注意,如果远程仓库需要认证,输入你的用户名和密码或使用个人访问令牌(PAT)。
9、错误处理: 如果遇到任何问题,比如分支冲突,我们可能需要先拉取远程更改并解决冲突,然后再推送。
10、后续提交: 每次想要推送新的更改时,只需要运行 git commit
和 git push
。
如果在推送时遇到因为分支不存在的拒绝问题,可能需要先设置上游分支:
git push --set-upstream origin master
仓库初始化与配置
- 初始化仓库:
git init
- 克隆远程仓库:
git clone <repository-url>
- 设置用户名:
git config user.name <name>
- 设置用户邮箱:
git config user.email <email>
文件状态与更改
- 查看状态:
git status
- 添加文件到暂存区:
git add <file>
- 添加所有文件到暂存区:
git add .
- 删除文件:
git rm <file>
- 修改文件:
git mv <old-file> <new-file>
提交更改
git commit -m "commit message"
- 提交所有暂存区文件:
git commit -a
- 修改最后一次提交:
git commit --amend
分支管理
- 查看分支:
git branch
- 创建新分支:
git branch <branch-name>
- 切换分支:
git checkout <branch-name>
- 创建并切换分支:
git checkout -b <branch-name>
- 删除分支:
git branch -d <branch-name>
- 合并分支:
git merge <branch-name>
远程仓库管理
- 添加远程仓库:
git remote add <remote-name> <url>
- 查看远程仓库:
git remote -v
- 拉取远程仓库更改:
git fetch
- 拉取并合并远程仓库更改:
git pull
- 推送到远程仓库:
git push <remote-name> <branch-name>
- 强制推送到远程仓库:
git push <remote-name> <branch-name> --force
查看历史与日志
- 查看提交历史:
git log
- 查看图形化的提交历史:
git log --oneline --graph --decorate --all
- 查看单个文件的变更历史:
git log <file>
撤销与重置
- 撤销工作目录中的更改:
git checkout -- <file>
- 重置暂存区:
git reset
- 重置工作目录和暂存区:
git reset --hard
- 撤销到某个历史提交:
git reset --hard <commit-hash>
标签管理
- 查看标签:
git tag
- 创建标签:
git tag <tag-name>
- 删除标签:
git tag -d <tag-name>
- 推送标签到远程仓库:
git push <remote-name> <tag-name>
其他常用命令
- 查看差异:
git diff
- 查看两个文件的差异:
git diff <file1> <file2>
- 查看两个提交之间的差异:
git diff <commit1> <commit2>