基本使用
初始化仓库:在项目的根目录下,打开终端并执行以下命令来初始化一个新的 Git 仓库:
git init
添加文件到暂存区:将项目中的文件添加到 Git 的暂存区,以便将其纳入版本控制。使用以下命令添加文件:
git add <文件名>
如果你想添加所有文件,可以使用以下命令:
git add .
提交更改:将暂存区的文件提交到 Git 仓库,创建一个新的提交记录。使用以下命令提交更改:
git commit -m "提交信息"
请确保在
-m
参数后面添加有意义的提交信息,以便日后能够清晰地了解每个提交的目的。远程仓库操作:
关联远程仓库:如果你的项目还没有关联到远程仓库,可以使用以下命令将本地仓库与远程仓库进行关联:
git remote add origin <远程仓库URL>
推送到远程仓库:将本地仓库的提交推送到远程仓库。使用以下命令推送到
origin
远程仓库的main
分支:git push origin main
克隆远程仓库:如果你要使用已经存在的远程仓库作为你的项目的起点,可以使用以下命令克隆远程仓库到本地:
git clone <远程仓库URL>
分支管理:
创建分支:使用以下命令创建一个新的分支:
git branch <分支名>
切换分支:使用以下命令切换到指定的分支:
git checkout <分支名>
合并分支:将指定分支的更改合并到当前分支。首先切换到接收更改的分支,然后使用以下命令进行合并:
git merge <要合并的分支名>
查看分支:使用以下命令查看所有分支及当前所在分支:
git branch
以下为常见问题及处理办法
提问:git如何指定提交文件或文件夹?
可以使用以下命令来指定提交特定的文件或文件夹:
git add <文件或文件夹路径>
例如,要提交名为 “file1.txt” 和 “file2.txt” 的文件,你可以运行:
git add file1.txt file2.txt
或者,如果要提交名为 “folder1” 的文件夹及其下的所有内容,你可以运行:
git add folder1/
请注意,添加文件或文件夹到暂存区后,仍然需要执行 git commit
命令来提交更改。
提问:获取某人最近一周的提交记录?
git log --author=<username> --since="1 week ago" --pretty=format:"%h %an %ad %s" --date=format:'%Y-%m-%d %H:%M:%S' > commit_history.txt
提问:想撤销上一次提交?
可以使用以下命令:
git revert HEAD
这将创建一个新的撤销提交,将上一次提交的更改反转回去。Git 会自动打开一个编辑器,以便输入撤销提交的消息。只需保存并关闭编辑器即可。
接下来,如果你想将这个撤销提交推送到远程仓库,可以使用以下命令:
git push origin <branch-name>
将 <branch-name>
替换为你要推送的分支名称,通常是 master
或其他你正在工作的分支。
提问:如何回退到某个指定的revision number?
假设你要回退到提交号为 <commit-hash>
的提交,可以执行以下命令:
git reset <commit-hash>
【备注】revision number=commit-hash
这将使 HEAD 指向指定的提交,并将之后的提交移除。请注意,这个操作将会丢失回退后的提交及其后的提交历史。如果你希望保留回退后的更改,可以使用 git stash
命令来保存当前的更改。
另一种方法是使用 git checkout
命令来回退到指定提交,同时创建一个新的分支,以便在需要的时候可以轻松返回到当前分支。运行以下命令:
建议使用
:
git checkout -b new-branch <commit-hash>
这将创建一个名为 new-branch
的新分支,并将其指向指定的提交。你可以在新分支上进行操作,保留回退前的提交历史。
请确保将 <commit-hash>
替换为你要回退到的具体提交的哈希值或提交号。
提问:如何删除远程分支?
假设你要删除名为 <remote-branch>
的远程分支,可以执行以下命令:
git push <remote-name> --delete <remote-branch>
在上述命令中,<remote-name>
是远程仓库的名称,通常为 origin
。<remote-branch>
是要删除的远程分支的名称。
例如,如果要删除名为 feature-branch
的远程分支,可以执行以下命令:
git push origin --delete feature-branch
执行以上命令后,远程分支 feature-branch
将会被删除。
请注意,删除远程分支需要相应的权限。如果你没有足够的权限进行删除操作,你可能需要联系仓库的管理员或具有相应权限的用户来执行删除操作。
提问:保存本次临时修改以及还原?
执行以下命令来保存当前的修改:
git stash save "Temporary changes"
如果你有多次临时保存(stash),并且想恢复指定的修改,你可以使用 git stash list
命令查看保存堆栈中的所有保存记录和索引。
执行以下命令:
git stash list
这将显示一个包含保存记录的列表,类似于:
stash@{0}: On branch <branch-name>: Temporary changes
stash@{1}: On branch <branch-name>: Another set of changes
stash@{2}: On branch <branch-name>: Some more changes
每个保存记录都有一个索引,如 stash@{0}
、stash@{1}
、stash@{2}
等。你可以使用这些索引来指定要恢复的特定修改。
要恢复指定的修改,可以使用 git stash apply stash@{<stash-index>}
命令,其中 <stash-index>
是你想要应用的保存的索引。例如,如果你想恢复 stash@{1}
的修改,可以执行以下命令:
git stash apply stash@{1}
或者,如果你想将指定的修改应用并从保存堆栈中移除,可以使用 git stash pop stash@{<stash-index>}
命令。